digitalmars.D.bugs - [Issue 8256] New: mixin() doesn't work in a template declaration
- d-bugmail puremagic.com (18/18) Jun 16 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8256
- d-bugmail puremagic.com (17/17) Jun 17 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8256
- d-bugmail puremagic.com (6/6) Jun 17 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8256
- d-bugmail puremagic.com (7/7) Jun 17 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8256
- d-bugmail puremagic.com (6/6) Jun 17 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8256
http://d.puremagic.com/issues/show_bug.cgi?id=8256 Summary: mixin() doesn't work in a template declaration Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: wfunction hotmail.com string getTypeName() { return "int"; } template Foo(T = mixin(getTypeName())) { } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 16 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8256 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement This is not allowed in current spec. http://dlang.org/expression.html#MixinExpression MixinExpression is an expression, not a type. template Foo(T = mixin(getTypeName())) { } ^ There should be a type. And the text contents of the string must be compilable as a valid AssignExpression. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 17 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8256 Oh hmm, I see... any chance that it might be allowed at some point? :D -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 17 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8256 Workaround(not tested): template Foo(T = typeof(mixin(getTypeName()).init)) { } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 17 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8256 Oh cool, that works! Thanks! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 17 2012