digitalmars.D.bugs - [Issue 5575] New: Problem with a map() of a const uniq()
- d-bugmail puremagic.com (34/34) Feb 14 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5575
- d-bugmail puremagic.com (18/18) Feb 03 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5575
http://d.puremagic.com/issues/show_bug.cgi?id=5575 Summary: Problem with a map() of a const uniq() Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc --- Comment #0 from bearophile_hugs eml.cc 2011-02-14 11:03:24 PST --- D2 code. map() doesn't modify the input range, so I think this is correct (but I am not sure if it's correct. A mutable range of immutable items isn't the same thing as an immutable range): import std.algorithm; void main() { auto u1 = uniq([1]); auto m1 = map!q{ a }(u1); // OK const u2 = u1; auto m2 = map!q{ a }(u2); // Error } DMD 2.051 gives: ...\dmd\src\phobos\std\algorithm.d(109): Error: constructor std.algorithm.Map!(result,const(Uniq!(pred,int[]))).Map.this (Uniq!(pred,int[]) input) is not callable using argument types (const(Uniq!(pred,int[]))) ...\dmd\src\phobos\std\algorithm.d(109): Error: cannot implicitly convert expression (r) of type const(Uniq!(pred,int[])) to Uniq!(pred,int[]) test4.d(6): Error: template instance std.algorithm.map!(" a ").map!(const(Uniq!(pred,int[]))) error instantiating -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 14 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5575 --- Comment #1 from bearophile_hugs eml.cc 2012-02-03 15:41:44 PST --- This seems related, DMD 2.058head: import std.algorithm, std.array; void main() { auto s1 = "hello"; auto m1 = map!(c => c)(s1); auto a1 = array(m1); // OK auto s2 = "hello"d; auto m2 = map!(c => c)(s2); auto a2 = array(m2); // line 8, Error } ...\dmd2\src\phobos\std\array.d(55): Error: result[i] isn't mutable test.d(8): Error: template instance std.array.array!(Result) error instantiating -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 03 2012