[Issue 15120] New: alias overload set combine error message
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sat Sep 26 11:34:49 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=15120
Issue ID: 15120
Summary: alias overload set combine error message
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: john.loughran.colvin at gmail.com
//modA.d
auto foo(T)(T a){}
//modB.d
auto foo(T)(T a){}
//modC.d
import modB, modC;
alias foo = modB.foo;
alias foo = modC.foo;
void main()
{
.foo(3.4f);
}
modA.d(7): Error: modA.foo called with argument types (float) matches both:
modB.d(1): modB.foo!float.foo(float a)
and:
modC.d(1): modC.foo!float.foo(float a)
which makes perfect sense. However, if we drop the . before foo, i.e.
foo(3.4f);
modA.d(7): Error: overload alias 'foo' is not a variable
which is very odd.
--
More information about the Digitalmars-d-bugs
mailing list