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);