void main() { struct S { int a; this(this) { ++a; } } ref S f(ref S s) { return s; } S s1 = S(10); S s2 = f(s1); // postblit should be called, but doesn't assert(s2.a == 11); }
Isn't this a duplicate of issue 5737 and issue 6199 ? There are currently 12 open bugs concerning postblit. I suspect some are duplicates, but I'm not sure which. http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&chfield=resolution&short_desc=Postblit&chfieldvalue=FIXED&bug_severity=regression&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&version=D2&short_desc_type=allwordssubstr&component=DMD&component=druntime&component=Phobos&resolution=---&product=D
(In reply to comment #1) > Isn't this a duplicate of issue 5737 and issue 6199 ? > > There are currently 12 open bugs concerning postblit. I suspect some are > duplicates, but I'm not sure which. > > http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&chfield=resolution&short_desc=Postblit&chfieldvalue=FIXED&bug_severity=regression&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&version=D2&short_desc_type=allwordssubstr&component=DMD&component=druntime&component=Phobos&resolution=---&product=D Thanks. You are right. I'll mark this as a dup of issue 5737. *** This issue has been marked as a duplicate of issue 5737 ***