September 09, 2010 [Issue 4842] New: Wrong code with template literals | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=4842 Summary: Wrong code with template literals Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Keywords: wrong-code Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: dsimcha@yahoo.com --- Comment #0 from David Simcha <dsimcha@yahoo.com> 2010-09-08 20:02:38 PDT --- The following code was written for Rosetta Code and is intended to find all factors of an integer. It produces wrong results. The exact wrong results depend on whether inlining is enabled. import std.range, std.algorithm, std.stdio; auto factors(I)(I num) { return filter!((i) { return num % i == 0; })( iota(1, num + 1) ); } void main() { writeln(factors(36)); } If I change the line with the lambda from a template literal to a delegate literal: return filter!((I i) { return num % i == 0; }) then it works. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
August 13, 2011 [Issue 4842] Wrong code with template literals | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha | http://d.puremagic.com/issues/show_bug.cgi?id=4842 David Simcha <dsimcha@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #1 from David Simcha <dsimcha@yahoo.com> 2011-08-12 20:45:54 PDT --- Can't reproduce this anymore. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation