test.d: ------------------- void funA2()(int a) {} void funA2(char a) {} // this function get lost alias funA = funA2; void funA(float b) {} static assert(__traits(getOverloads, test, "funA", true).length == 3); ------------------- Result: Error: static assert: `2LU == 3LU` is false Note: stable shows "`0LU == 3LU` is false" due to issue 20821
@BorisCarvajal created dlang/dmd pull request #12091 "Fix Issue 21522 - function get lost when aliasing an overloaded funct…" fixing this issue: - Fix Issue 21522 - function get lost when aliasing an overloaded function template https://github.com/dlang/dmd/pull/12091
dlang/dmd pull request #12091 "Fix Issue 21522 - function gets lost when aliasing an overloaded funct…" was merged into master: - 6299cc5a95e5fa4a4476710911672c2aed372f41 by Boris Carvajal: Fix Issue 21522 - function get lost when aliasing an overloaded function template https://github.com/dlang/dmd/pull/12091