digitalmars.D.bugs - [Issue 20736] New: Wrong diagnostic for mismatch in delegate return
- d-bugmail puremagic.com (29/32) Apr 14 2020 https://issues.dlang.org/show_bug.cgi?id=20736
https://issues.dlang.org/show_bug.cgi?id=20736 Issue ID: 20736 Summary: Wrong diagnostic for mismatch in delegate return type Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: andrej.mitrovich gmail.com ----- struct Amount { int value; } immutable Amount MinFreezeAmount = Amount(1); void test (Amount delegate(Amount)) { } void main () { test(amount => MinFreezeAmount); } -----test.d(14): Error: function test.test(Amount delegate(Amount) _param_0) is not callable using argument types (void) test.d(14): cannot pass argument __lambda1 of type void to parameter Amount delegate(Amount) _param_0The diagnostic should be something like:test.d(14): Error: function test.test(Amount delegate(Amount) _param_0) is not callable using argument types (immutable(Amount) delegate(Amount))--
Apr 14 2020