https://issues.dlang.org/show_bug.cgi?id=14190
Issue ID: 14190 Summary: Overload sets example incorrect Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: spec Severity: normal Priority: P1 Component: DMD Assignee: nob...@puremagic.com Reporter: thecybersha...@gmail.com http://dlang.org/function.html#overload-sets specifies the following example: /////////////////////////// A.d ////////////////////////// module A; void foo() { } void foo(long i) { } /////////////////////////// B.d ////////////////////////// module B; class C { } void foo(C) { } void foo(int i) { } ///////////////////////// test.d ///////////////////////// import A; import B; void bar(C c) { foo(); // calls A.foo() foo(1L); // calls A.foo(long) foo(c); // calls B.foo(C) foo(1,2); // error, does not match any foo foo(1); // error, matches A.foo(long) and B.foo(int) A.foo(1); // calls A.foo(long) } ////////////////////////////////////////////////////////// However, the line: foo(1L); // calls A.foo(long) doesn't actually work: test.d(7): Error: B.foo at B.d(4) conflicts with A.foo at A.d(3) --