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

Rumbu rumbu at rumbu.ro
Thu Mar 25 10:35:13 UTC 2021


On Thursday, 25 March 2021 at 09:35:40 UTC, deadalnix wrote:
> 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.
>
> The big question is, what if I want a range of Optional!T ?

You have to check on Optional!(Optional!T).



More information about the Digitalmars-d mailing list