[Issue 19973] New: Too many template forward reference errors in recursive template
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Jun 16 09:46:10 UTC 2019
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 at puremagic.com
Reporter: ibuclaw at 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)
---
--
More information about the Digitalmars-d-bugs
mailing list