Enforce not null at compile time?

Dennis dkorpel at gmail.com
Mon Jun 20 17:57:45 UTC 2022


On Monday, 20 June 2022 at 17:48:48 UTC, Antonio wrote:
> Is there any way to specify that a variable, member or 
> parameter can't be null?

Depends on the type. Basic types can't be null. Pointers and 
classes can always be `null`, though you could wrap them in a 
custom library type that doesn't allow them to be `null`. Dynamic 
arrays and associative arrays can be null, but it's equivalent to 
them being empty, so you can still use them like normal. You can 
pass a struct as a `ref` parameter, which passes it by reference 
but it's still typed as a plain struct, so it can't be `null`.


More information about the Digitalmars-d-learn mailing list