On Saturday, 4 May 2019 at 08:12:46 UTC, Alex wrote:
    mixin(defState!("XEvent value;"));
mixin templates are used in the call scope, not the defining scope.

That's true, but the code there is NOT a mixin template.

mixin templates are always used

mixin TemplateName;

or

mixin TemplateName!(Args);


There are no parenthesis around it for this construct.

Sometimes this is a little tricky because you want to generalize it so you have to do some weird stuff and use mixin("import "~moduleName!T~";");

If you find yourself writing code like that, it means your library is badly designed and you should fix it. There is never a need for that, if you can get the module if T, it means you *already have access to T* and can simply use it directly.

Reply via email to