http://d.puremagic.com/issues/show_bug.cgi?id=5121
Summary: Make std.algorithm.swap weakly pure Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: patch Severity: enhancement Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-10-26 12:57:01 PDT --- This is a test program that fails with dmd 2.050alpha: import std.algorithm: swap; pure int foo(int x, int y) { swap(x, y); return y; } void main() { assert(foo(10, 20) == 10); } But swap may be modified to become weakly pure, just changing this line 1063: void swap(T)(ref T a, ref T b) if (!is(typeof(T.init.proxySwap(T.init)))) Into: pure void swap(T)(ref T a, ref T b) if (!is(typeof(T.init.proxySwap(T.init)))) (Probably several other functions in Phobos may now be tagged was (weakly) pure.) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------