Test case: moduel a; version(A) { private template X(T) { enum X = 1; } public template X(size_t n) { enum X = 2; } private void foo(int) {} public void foo(string) {} } version(B) { public template X(size_t n) { enum X = 2; } private template X(T) { enum X = 1; } public void foo(string) {} private void foo(int) {} } module b; import a; void main() { // version=A B auto x1 = X!int; // Error OK auto x2 = X!100; // Error OK foo(100); // Error Error foo("a"); // Error OK }
Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/5b7e797b67d760fad05a84f739217d0de830026e Add "FIXME" comment for issue 10604 in ScopeDsymbol::search
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18627 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB