Motive behind !empty() with front() instead of Optional front()

Per Nordlöw per.nordlow at gmail.com
Wed Mar 24 19:23:21 UTC 2021


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.


More information about the Digitalmars-d mailing list