On Wednesday, 20 April 2016 at 01:59:31 UTC, Vladimir Panteleev
wrote:
On Tuesday, 19 April 2016 at 22:28:27 UTC, Alex Parrill wrote:
* It eliminates the incredibly tedious, annoying, and
easy-to-forget boilerplate after every allocation to check if
the allocation succeeded.
FWIW, you can turn a false-ish (!value) function call result
into an exception by sticking .enforce() at the end. Perhaps
this is the use case for a Maybe type.
Yes, enforce helps (and I forgot it reruns its argument), but its
still boilerplate, and it throws a generic "enforcement failed"
exception instead of a more specific "out of memory" exception
unless you remember to specify your own exception or message.