On Tuesday, 4 October 2016 at 00:40:08 UTC, Andrei Alexandrescu wrote:
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

You can also just do something like this, to search the upper/global scope:

    alias A = SomethingCool!(.MyStruct);

Reply via email to