What is the shortest way to define an immutable token of unique type?

Paul Backus snarwin at gmail.com
Sun Mar 14 16:52:20 UTC 2021


On Sunday, 14 March 2021 at 16:37:58 UTC, Andrei Alexandrescu 
wrote:
> Is there a simpler way that this?
>
> struct Hex {}
> immutable Hex hex;
>
> I don't want to introduce two names in the scope, just `hex`. 
> Another attempt:
>
> immutable hex = function {};
>
> That's a bit... arcane. Is there another simple way? Thanks!

You could use a Voldemort type:

     immutable hex = () {
         static struct Hex {}
         return Hex();
     }();


More information about the Digitalmars-d mailing list