Bug 15120 – alias overload set combine error message

Status
RESOLVED
Resolution
DUPLICATE
Severity
major
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-09-26T18:34:00Z
Last change time
2015-09-27T00:31:38Z
Assigned to
nobody
Creator
john.loughran.colvin

Comments

Comment #0 by john.loughran.colvin — 2015-09-26T18:34:49Z
//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.
Comment #1 by k.hara.pg — 2015-09-27T00:31:38Z
It's fixed in git head as a part of issue 14858. *** This issue has been marked as a duplicate of issue 14858 ***