Test case: struct S() { void fun() { gun(""); } void gun(T)(T) { alias buggy = bug; } } alias X = S!(); void main() { X().gun(0); } alias bug = __traits(getMember, X, "fun");
@BorisCarvajal created dlang/dmd pull request #10952 "Fix Issue 20692 - Nested alias declarations and getMember trait can c…" fixing this issue: - Fix Issue 20692 - Nested alias declarations and getMember trait can crash dmd https://github.com/dlang/dmd/pull/10952
dlang/dmd pull request #10952 "Fix Issue 20692 - Nested alias declarations and getMember trait can c…" was merged into stable: - ef669f8ab65b040075e55f07edea7c138e66ec2e by Boris Carvajal: Fix Issue 20692 - Nested alias declarations and getMember trait can crash dmd https://github.com/dlang/dmd/pull/10952
dlang/dmd pull request #12339 "[dmd-cxx] Backport fixes and trivial features from upstream dmd" was merged into dmd-cxx: - 9cbfd4a8700bb840b672aeb08b3ec6cce295c731 by Boris Carvajal: [dmd-cxx] Fix Issue 20692 - Nested alias declarations and getMember trait can crash dmd https://github.com/dlang/dmd/pull/12339