Motive behind !empty() with front() instead of Optional front()
Jesse Phillips
Jesse.K.Phillips+D at gmail.com
Thu Mar 25 01:35:23 UTC 2021
On Wednesday, 24 March 2021 at 19:23:21 UTC, Per Nordlöw wrote:
> What's the motive behinds D's range design choice of needing
>
> if (!empty)
> {
> // use front or back
> }
>
> instead of having front returning an optional/maybe type with
> enforced pattern matching?
>
> Lack of builtin Optional type?
>
> Choosing the Optional path would have avoided the need for
> putting error diagnostics such as
>
> https://github.com/dlang/phobos/commit/9bd2f2ba8ff1124a044560c4e6912a13cb5ac694
>
> in the standard library of such an alternative solution.
Is optional not having a value a good way to know you are at the
end of a list? I know that Nullable can use a flag, but if you
return an optional with a value of null, feels like you are
defeating the purpose of optional.
More information about the Digitalmars-d
mailing list