digitalmars.D.bugs - [Issue 275] New: Undefined identifier in instances of templates with forward mixins
- d-bugmail puremagic.com (46/46) Aug 02 2006 http://d.puremagic.com/issues/show_bug.cgi?id=275
- d-bugmail puremagic.com (10/10) Nov 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=275
http://d.puremagic.com/issues/show_bug.cgi?id=275 Summary: Undefined identifier in instances of templates with forward mixins Product: D Version: 0.163 Platform: PC OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: daiphoenix lycos.com Undefined identifier in instances of templates with forward mixins. The following fails to compile: ---- template TplWithMixin() { mixin Mnum!(); } //Error: undefined identifier TplWithMixin!().cnum : auto a = TplWithMixin!().cnum; template Mnum() { const int cnum = 2; } ---- If TplWithMixin!().cnum is accessed only inside a function, then no error occurs. But if an instance of TplWithMixin is made outside a function, and before the mixin template, then the function instances will also fail when accessing members. This code exemplifies: ----- template TplWithMixin() { mixin Mnum!(); } void test() { //Error: undefined identifier TplWithMixin!().cnum : auto a = TplWithMixin!().cnum; } // Compiles ok if this line is removed or placed after Mnum : alias TplWithMixin!() xxx; template Mnum() { const int cnum = 2; } ---- --
Aug 02 2006
http://d.puremagic.com/issues/show_bug.cgi?id=275 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |andrei metalanguage.com AssignedTo|nobody puremagic.com |bugzilla digitalmars.com -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 26 2010