mixin identifiers concept
Paul Backus
snarwin at gmail.com
Mon Jan 31 20:45:53 UTC 2022
On Monday, 31 January 2022 at 07:19:49 UTC, bauss wrote:
> I believe a DIP would be necessary, but to be honest I don't
> see a reason for this.
>
> You can just do this which isn't really much less readable.
>
> ```d
> static foreach (name; ["boo", "foo"])
> {
> mixin(`string file_%1$s =
> readText("%1$s.txt");`.format(name));
> }
>
> writeln(file_boo);
> writeln(file_foo);
> ```
Using `std.format` for this incurs a substantial compile-time
performance penalty--dozens of templates must be instantiated,
memory must be allocated for CTFE, the format string must be
validated, etc. If the mixin is inside a template which is itself
instantiated many times, this overhead can really add up.
More information about the Digitalmars-d
mailing list