April 27, 2013 [Issue 9998] New: RefCounted is impure | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=9998 Summary: RefCounted is impure Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody@puremagic.com ReportedBy: henning@still-hidden.de --- Comment #0 from Henning Pohl <henning@still-hidden.de> 2013-04-27 10:05:27 PDT --- Using RefCounted in a pure function is impossible: import std.typecons; void main() pure { RefCounted!int i; } ----- main.d(4): Error: pure function 'D main' cannot call impure function 'std.typecons.RefCounted!(int).RefCounted.~this' ----- Nothing in RefCounted is marked as pure in general. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
April 29, 2013 [Issue 9998] RefCounted is impure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Henning Pohl | http://d.puremagic.com/issues/show_bug.cgi?id=9998 monarchdodra@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |monarchdodra@gmail.com --- Comment #1 from monarchdodra@gmail.com 2013-04-29 03:44:52 PDT --- There is indeed a few mistakes in RefCounted which I can take care of. I did hit this issue though: "Error: pure function 'std.typecons.RefCounted!(int).RefCounted.~this' cannot call impure function 'core.stdc.stdlib.free'" I can agree that "free" is not pure, as calling it twice on the same pointer will not yield the same result. However, there is no such thing as "trusted purity", so I'm not sure how to do that... I'll ask on the boards. -- 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