digitalmars.D.bugs - [Issue 8427] New: [2.060 beta] static foreach over typesafe vararg rejected
- d-bugmail puremagic.com (34/34) Jul 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8427
- d-bugmail puremagic.com (10/10) Jul 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8427
- d-bugmail puremagic.com (25/26) Jul 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8427
- d-bugmail puremagic.com (11/11) Jul 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8427
- d-bugmail puremagic.com (8/8) Jul 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8427
http://d.puremagic.com/issues/show_bug.cgi?id=8427 Summary: [2.060 beta] static foreach over typesafe vararg rejected Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Keywords: rejects-valid Severity: regression Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: cbkbbejeap mailinator.com --- Comment #0 from Nick Sabalausky <cbkbbejeap mailinator.com> 2012-07-24 15:49:52 PDT --- void foo(T...)(T args) { foreach(T arg; args) {} } void main() { foo("", [""]); } Works in 2.059, but not in 2.060 beta: testTypeSafeVarArg.d(1): Error: cannot implicitly convert expression (_param_0) of type string to string[] testTypeSafeVarArg.d(1): Error: cannot implicitly convert expression (_param_1) of type string[] to string testTypeSafeVarArg.d(9): Error: template instance testTypeSafeVarArg.foo!(string,string[]) error instantiating -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8427 klickverbot <code klickverbot.at> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code klickverbot.at --- Comment #1 from klickverbot <code klickverbot.at> 2012-07-24 16:04:33 PDT --- foreach(T arg; args) – sure about that T there? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8427 Simen Kjaeraas <simen.kjaras gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simen.kjaras gmail.com --- Comment #2 from Simen Kjaeraas <simen.kjaras gmail.com> 2012-07-24 16:08:58 PDT --- (In reply to comment #1)foreach(T arg; args) – sure about that T there?As Nick stated in the report, it compiles under 2.059. However, void foo(T...)(T args) { foreach(T arg; args) { pragma(msg, typeof(arg)); pragma(msg, T); } } void main() { foo("", [""]); } Should prove that the T is being ignored in 2.059, and as such it accepts invalid code. This is not a regression, it's a fix. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8427 Nick Sabalausky <cbkbbejeap mailinator.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #3 from Nick Sabalausky <cbkbbejeap mailinator.com> 2012-07-24 17:32:58 PDT --- Fuck, good catch! Never mind me. Carry on ;) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8427 --- Comment #4 from Kenji Hara <k.hara.pg gmail.com> 2012-07-24 19:24:32 PDT --- The original issue that fixed in 2.060beta is bug 5435. Then, if you iterate a tuple that has heterogeneous elements, you should not add type for foreach argument. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 24 2012