June 04, 2023 [Issue 23961] New: Overload set created using selective imports causes declarations to conflict with themselves | ||||
---|---|---|---|---|
| ||||
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: nobody@puremagic.com Reporter: dlang-bugzilla@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` -- |
Copyright © 1999-2021 by the D Language Foundation