Compiler-recognized template patterns
Richard (Rikki) Andrew Cattermole
richard at cattermole.co.nz
Tue Jul 23 16:00:39 UTC 2024
On 23/07/2024 9:36 PM, Quirin Schroll wrote:
> From [D Language Foundation March 2024 Monthly Meeting
> Summary](https://forum.dlang.org/post/qwyhlvqintqsnzwnzuwv@forum.dlang.org)
>> Walter said the way to do that was to have the compiler recognize the
>> template and not instantiate it, but just return the result. He'd done
>> that for a couple of the templates. `Unqual` sounded like a good
>> candidate for that. Then it would still look like a template, but it
>> wouldn't have the cost of a template anymore.
>
> That’s not a good solution, it’s just whack-a-mole. Why not add a pragma
> so that any template can be like that at the programmer’s discretion?
> `pragma(nocache)` or something like that. We can add it to any Phobos
> template and D programmers can add it in their code bases where they see
> fit.
Turning off caching requires template instantiation to occur. It does
not change that.
The point is to recognize a template instantiation request as a
``__trait`` which is very cheap to do on the compiler side.
So no, turning off caching wouldn't be beneficial.
More information about the Digitalmars-d
mailing list