On Thursday, 26 August 2021 at 16:16:55 UTC, DLearner wrote:
Please confirm that mixins of format: ``` string mxn1(string VarName) { ... } ``` Invoked like: ``` mixin(mxn1("Var1")); ```Have a wider scope than mixins like: ``` string mxn2(string VarName)() { ... } ``` Invoked like: ``` mixin(mxn2!"Var2"); ```
If the strings produced by `mxn1("Var1")` and `mxn2!"Var2"` are the same, mixing them in will have the same result. `mixin()` does not care where the string you pass to it comes from.
I tried direct replacement of former by the latter, could not get clean compile until definition moved into same module.
Something you are doing in the body of the functions is causing this, but because you have not included function bodies in your post, I cannot tell you what.
