[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