Cannot access template name from within template

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 3 17:40:08 PDT 2016


On 10/03/2016 06:32 PM, Stefan Koch wrote:
> On Monday, 3 October 2016 at 22:28:46 UTC, Andrei Alexandrescu wrote:
>> Consider:
>>
>> template SomethingCool(alias X) { alias Y = X!int; }
>>
>> struct MyStruct(T) {
>>     alias A = SomethingCool!MyStruct;
>> }
>>
>> Inside MyStruct though, a mention of the symbol MyStruct alone is
>> actually the current instantiation - i.e. a type, not a template.
>>
>> Any known workaround?
>>
>>
>> Thanks,
>>
>> Andrei
>
> try defining an alias to template name outside of the template and use
> that.
> No guarantees.

Using std.traits.TemplateOf!MyStruct works like a charm. -- Andrei


More information about the Digitalmars-d mailing list