← Back to index
|
Original Bugzilla link
Bug 19920 – __trait(parent, ...) broken with extern(C++,"ns") nested in scopes
Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2019-05-30T00:47:40Z
Last change time
2019-05-30T07:38:32Z
Keywords
pull
Assigned to
No Owner
Creator
Nicholas Wilson
Comments
Comment #0
by iamthewilsonator — 2019-05-30T00:47:40Z
struct Foo { extern(C++, "namespace") { static void bar(); } } alias Alias(alias a) = a; alias Alias(T) = T; static assert(is(Alias!(__traits(parent, bar)) == Foo)); somehow passes static assert(is(Alias!(__traits(parent, Foo.bar)) == Foo)); fails, as does Foo.bar(); See also
https://github.com/dlang/dmd/pull/9912
Comment #1
by dlang-bot — 2019-05-30T03:29:55Z
@Geod24 updated dlang/dmd pull request #9912 "Fix issue 19893 - extern(C++ 'ns') should count as module scope" fixing this issue: - Fix issue 19920 - Wrong parent for `extern(C++, "ns")` nested in scope
https://github.com/dlang/dmd/pull/9912
Comment #2
by dlang-bot — 2019-05-30T07:38:32Z
dlang/dmd pull request #9912 "Fix issue 19893 - extern(C++ 'ns') should count as module scope" was merged into master: - 6d0e856d1b863c586f88de7225b33ab480d604fd by Geod24: Fix issue 19920 - Wrong parent for `extern(C++, "ns")` nested in scope
https://github.com/dlang/dmd/pull/9912