https://issues.dlang.org/show_bug.cgi?id=15818

          Issue ID: 15818
           Summary: Multiple function declarations without definition
                    cause ambiguity overloading error
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: rejects-valid
          Severity: minor
          Priority: P1
         Component: dmd
          Assignee: nob...@puremagic.com
          Reporter: verylonglogin....@gmail.com

This code should compile:
---
void f(int); // line 1
void f(int);
void f(int);
void f(int);
void f(int); // line 5

void main()
{
    f(1); // line 9
}
---
main.d(9): Error: main.f called with argument types (int) matches both:
main.d(1):     main.f(int)
and:
main.d(5):     main.f(int)
---

If any declaration is converted to definition the code compiles.
Also note the error message only reports about the first and the last
declaration.

--

Reply via email to