https://issues.dlang.org/show_bug.cgi?id=23961
Issue ID: 23961
Summary: Overload set created using selective imports causes
declarations to conflict with themselves
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
///////// a.d /////////
void fun(int v) {}
///////// b.d /////////
void fun(string v) {}
///////// c.d /////////
public import a : fun;
private import b : fun;
//////// test.d ///////
import a;
import c;
void main()
{
fun(1);
}
///////////////////////
Compiler says:
test.d(6): Error: `fun` matches conflicting symbols:
a.d(1): function `a.fun`
a.d(1): function `a.fun`
--