Template mixin enum stringof

Lemonfiend via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Dec 10 04:35:44 PST 2014


On Wednesday, 10 December 2014 at 12:08:34 UTC, ketmar via 
Digitalmars-d-learn wrote:
> On Wed, 10 Dec 2014 11:52:11 +0000
> Lemonfiend via Digitalmars-d-learn 
> <digitalmars-d-learn at puremagic.com>
> wrote:
>
>> Consider the following:
>> 
>> ---
>> enum Foo { BAR, }
>> 
>> mixin template S(string s_)
>> {
>> 	enum s = s_;
>> }
>> 
>> void main()
>> {
>> 	mixin S!(Foo.BAR.stringof); // Error: identifier 'stringof' 
>> of 'Foo.BAR.stringof' is not defined
>> 
>> 	enum e = Foo.BAR.stringof;
>> 	mixin S!(e); // works fine
>> }
>> ---
>> 
>> Why doesn't the first work? And is there an alternative to the 
>> second version?
>
>   mixin S!((Foo.BAR).stringof);
>
> sorry, don't remember the parsing rule for this.

Wow, I didn't even consider that.. Thanks!


More information about the Digitalmars-d-learn mailing list