Is there a strong reason for Nullable's alias get this?
FeepingCreature
feepingcreature at gmail.com
Mon Apr 16 08:34:13 UTC 2018
I think `alias get this` is a misfeature.
If at all possible, compiletime errors should be preferred over
runtime errors. The point of Nullable is that the value contained
within may be absent. Considering the prevalence of type
inference and UFCS chaining in idiomatic D, it is very possible
that a change to a Nullable type, or a change of a parameter to a
non-Nullable type, may not be noticed by the typesystem. In that
case, the unhandled null state that could have been caught by the
compiler will turn into a runtime exception.
This seems a poor, magical and unexpected choice of behavior.
Is there any strong reason why Nullable!T can implicitly convert
to T? If not, I'd argue that `alias get this` should be
deprecated, and removed at the earliest convenience. It throws
away clear safety for unclear gain.
More information about the Digitalmars-d
mailing list