Aliasing a mixin (or alternative ways to profile a scope)
Simon
simon.vanbernem at yahoo.de
Fri Mar 8 11:42:11 UTC 2019
On Thursday, 7 March 2019 at 21:50:17 UTC, Johannes Loher wrote:
> ```
> enum profile_scope(string name) = "import core.stdc.stdio :
> printf;
> printf(\""
> ~ name ~ "\n\"); scope(exit) printf(\"" ~ name ~ "\n\");";
>
> extern (C) void main()
> {
> mixin(profile_scope!"func1");
> }
>
> ```
> This uses string concatenation only at compile time and not
> during run
> time, so it does not require the garbage collector and is
> compatible
> with betterC :)
Thanks, this works flawlessly. Out of interest: what is the
"enum" doing there? I had the exact same behaviour in a function
before, that I only called at compile-time, so why did it
complain then? Can I somehow tell the compiler that a function
should only be available at compile-time?
More information about the Digitalmars-d-learn
mailing list