struct S(size_t _) { // void foo(size_t i)(S!(i) rhs){} //OK void foo(size_t i)(S!(+i) rhs){} //Error void foo(){} } void main() { S!4 v1; v1.foo(); } test.d(4): Error: undefined identifier 'i' Also, if I comment out the `void foo(){}` overload the compiler still complains about the undefined identifier, but also prints the "cannot deduce function from argument types" as expected.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19228 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB