digitalmars.D.bugs - [Issue 11286] New: Impure dtor makes "cannot call impure function" error, although it won't actually be called.
- d-bugmail puremagic.com (50/50) Oct 17 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11286
- d-bugmail puremagic.com (10/10) Oct 17 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11286
http://d.puremagic.com/issues/show_bug.cgi?id=11286 Summary: Impure dtor makes "cannot call impure function" error, although it won't actually be called. Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: k.hara.pg gmail.com From: http://forum.dlang.org/thread/wqxziknnhlyoyetwmtyu forum.dlang.org ===================================== I get this error: ---- /d701/f223.d(11): Error: pure function 'f223.getA' cannot call impure function 'f223.A.~this' ---- with this code: ---- import std.stdio; struct A { public: ~this() { writeln("DTor"); } } A getA() pure nothrow { return A(); } void main() { A a = getA(); writeln("end of main"); } ---- But without pure and nothrow I get this output: ---- end of main DTor ---- Why the compiler thinks that the function should/could call A::~this? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 17 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11286 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull https://github.com/D-Programming-Language/dmd/pull/2677 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 17 2013