diff --git a/compiler/src/dmd/funcsem.d b/compiler/src/dmd/funcsem.d index 2f3927abff11..a8fb8b5bc6f4 100644 --- a/compiler/src/dmd/funcsem.d +++ b/compiler/src/dmd/funcsem.d @@ -2177,6 +2177,7 @@ FuncDeclaration resolveFuncCall(Loc loc, Scope* sc, Dsymbol s, { eSink.error(loc, "none of the overloads of `%s` are callable using argument types `%s`", fd.toErrMsg(), fargsBuf.peekChars()); + checkNamedArgErrorAndReportOverload(fd, argumentList, loc); printCandidates(loc, fd, sc.isDeprecated()); return null; } diff --git a/compiler/test/fail_compilation/issue21294.d b/compiler/test/fail_compilation/issue21294.d new file mode 100644 index 000000000000..ee87776a146d --- /dev/null +++ b/compiler/test/fail_compilation/issue21294.d @@ -0,0 +1,22 @@ +/* +TEST_OUTPUT: +--- +fail_compilation/issue21294.d(18): Error: none of the overloads of `fun` are callable using argument types `(int, int)` +fail_compilation/issue21294.d(18): parameter `a` assigned twice +fail_compilation/issue21294.d(13): Candidates are: `issue21294.fun(int a)` +fail_compilation/issue21294.d(14): `issue21294.fun(int a, int b)` +--- +*/ + +// https://github.com/dlang/dmd/issues/21294 + +void fun(int a) {} +void fun(int a, int b) {} + +void main() +{ + fun( + a: 2, + a: 4, + ); +}