Enforce not null at compile time?

Antonio antonio at abrevia.net
Mon Jun 20 19:26:54 UTC 2022


On Monday, 20 June 2022 at 19:08:32 UTC, max haughton wrote:
> 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?
>
> You can use an invariant if it's a member of an aggregate but 
> be warned that these are only checked at the boundaries of 
> public member functions.

I'm using preconditions when calling functions

```d
auto readByCredentiasl(CredentialsDTO credentials)
in (credentials !is null)
in (credentias.username !is null)
...
{
  ...
}
```

But it's runtime validation, not formally validated by compiler.


More information about the Digitalmars-d-learn mailing list