from http://forum.dlang.org/thread/lhnvvkylevyuwotygjol@forum.dlang.org ~~~A.d module A; import std.stdio; void bar (int s) { __PRETTY_FUNCTION__.writeln; } ~~~ ~~~foo.d import std.stdio; import A; alias bar = A.bar; version (X) { void bar (T) (T t) { __PRETTY_FUNCTION__.writeln; } } void bar (int s) { __PRETTY_FUNCTION__.writeln; } void main () { bar (1); } ~~~ $ dmd -i foo foo.d(13): Error: foo.bar called with argument types (int) matches both: A.d(4): A.bar(int s) and: foo.d(9): foo.bar(int s) $ dmd -version=X -i foo $ ./foo void A.bar(int s)
@BorisCarvajal created dlang/dmd pull request #12092 "Fix Issue 21481 - functions in overloaded template are lost when the …" fixing this issue: - Fix Issue 21481 - functions in overloaded template are lost when the template overloads an alias https://github.com/dlang/dmd/pull/12092
dlang/dmd pull request #12092 "Fix Issue 21481 - functions in overloaded template are lost when the …" was merged into master: - 518157506bc45bcd66b957f9330e0adc3d473be1 by Boris Carvajal: Fix Issue 21481 - functions in overloaded template are lost when the template overloads an alias https://github.com/dlang/dmd/pull/12092