February 24, 2023
https://issues.dlang.org/show_bug.cgi?id=23735

          Issue ID: 23735
           Summary: 'extern' storage class affects function declarations
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: maxsamukha@gmail.com

extern void foo(); // passes if 'extern' is removed
void foo();

void foo() {}

void main()
{
    foo();
}

onlineapp.d(13): Error: `a.foo` called with argument types `()` matches both:
onlineapp.d(6):     `a.foo()`
and:
onlineapp.d(9):     `a.foo()`

Applying 'extern' to a function should either be an error or have no effect.

--