https://issues.dlang.org/show_bug.cgi?id=13374
Issue ID: 13374 Summary: Wrong template overload resolution when passing function to alias/string parameter Product: D Version: unspecified Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: regression Priority: P1 Component: DMD Assignee: nob...@puremagic.com Reporter: thecybersha...@gmail.com ///// test.d ///// void f(alias a)() { } void f(string s)() { } void x(int i) {} void main() { f!x(); } ////////////////// Compiler attempts to evaluate x despite that it's impossible and its return type is not convertible to a string. But even if x took no arguments and returned a string, there needs to be a way to pass the function by alias, not by its evaluation result. Introduced in https://github.com/D-Programming-Language/dmd/pull/599 --