On Monday, 17 June 2024 at 05:05:06 UTC, Jonathan M Davis wrote:
     alias Unshared(T) = T;
     alias Unshared(T: shared U, U) = U;
...
Unshared is an eponymous template.
https://dlang.org/spec/template.html#implicit_template_properties

And it's using a shortcut syntax.
...
The second template uses a template specialization

https://dlang.org/spec/template.html#parameters_specialization

No wonder I couldn't find it in the spec; I was looking for an "alias" language feature. alias as used here leans on a template mechanism--specialization. It might have taken many readings of the spec to have hunted that down, so--thank you. It's quite an interesting mechanism.

D is quite easy for a C programmer to get started with, but it certainly has its depths!

Andy

Reply via email to