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: nob...@puremagic.com Reporter: dlang-bugzi...@thecybershadow.net ///////// 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` --