Furthermore the following statement about rust error handling is simply not true:
> But Rust has no equivalent of handle: the convenience of the ? operator comes with the likely omission of proper handling.
That's because the ? operator does a min more than the code snippet in the draft design shows:
if result.err != nil {
return result.err
}
use(result.value)
Instead it does the following: if result.err != nil {
return ResultErrorType.from(result.err)
}
use(result.value)
This means that a very common way to handle errors in Rust is to define your own Error type consumes other errors and adds context to them.