← Back to index
|
Original Bugzilla link
Bug 17257 – Wrong recursive template destructor reflection
Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2017-03-14T14:54:52Z
Last change time
2020-02-16T02:40:42Z
Assigned to
No Owner
Creator
Jack Applegame
Comments
Comment #0
by japplegame — 2017-03-14T14:54:52Z
Discussion -
https://forum.dlang.org/post/
[email protected]
import std.string : format; struct Bar(E) { void fun() { pragma(msg, format("fun: Foo.__xdtor - %s", __traits(hasMember, E, "__xdtor"))); } ~this() { pragma(msg, format("~this: Foo.__xdtor - %s", __traits(hasMember, E, "__xdtor"))); } } struct Foo { Bar!Foo foo; ~this() {} } Output: ~this: Foo.__xdtor - false fun: Foo.__xdtor - true Expected: ~this: Foo.__xdtor - true fun: Foo.__xdtor - true
Comment #1
by dlang-bot — 2020-02-15T15:42:16Z
@benjones created dlang/dmd pull request #10788 "FIX: Issue 17257 (revive/rebase PR #6635)" mentioning this issue: - FIX: Issue 17257 (revive/rebase PR #6635)
https://github.com/dlang/dmd/pull/10788
Comment #2
by dlang-bot — 2020-02-16T02:40:42Z
dlang/dmd pull request #10788 "FIX: Issue 17257 (revive/rebase PR #6635)" was merged into master: - 472d7b8a06949add3f71e1c87bc268bd196c1043 by Daniel Kozák: Fix Issue 17257 (revive/rebase PR #6635)
https://github.com/dlang/dmd/pull/10788