[Issue 276] New: Compiler erroneously thinks an aggregate inner template will add a field to it

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Aug 2 15:22:48 PDT 2006


http://d.puremagic.com/issues/show_bug.cgi?id=276

           Summary: Compiler erroneously thinks an aggregate inner template
                    will add a field to it
           Product: D
           Version: 0.163
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: daiphoenix at lycos.com


Compiler erroneously thinks an aggregate inner template will add a field to it:

---
import BUGMultiDisFunction;

struct st {
        template t1() {
                template t2(int n2) { }
        }

}

alias st.t1!().t2 a;
---
Error:
" variable main.st.t1!().n2 cannot use template to add field to aggregate 'st'
"

This only happens because of the "int n2" parameter. If the parameter is a
type, alias, or non-existent, there will be no compiler error.


-- 




More information about the Digitalmars-d-bugs mailing list