digitalmars.D.bugs - [Issue 19973] New: Too many template forward reference errors in
- d-bugmail puremagic.com (50/50) Jun 16 2019 https://issues.dlang.org/show_bug.cgi?id=19973
https://issues.dlang.org/show_bug.cgi?id=19973 Issue ID: 19973 Summary: Too many template forward reference errors in recursive template Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: ibuclaw gdcproject.org auto a(int b = a) {} auto a(int b) {} The error when compiling the above is: --- a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a a.d(1): Error: forward reference to template a --- Which is about 18 errors too many. Reverse the declarations, and the error becomes a little more reasonable: --- a.d(2): Error: forward reference to template a a.d(2): Error: forward reference to template a a.d(2): Error: none of the overloads of a are callable using argument types (), candidates are: a.d(1): a.a(int b) a.d(2): a.a(int b = a) --- --
Jun 16 2019