Yes, I think this hits the issue pretty well for me. Syntactically, I’m ok with the similar pattern, but it should be clear that Rust is not semantically like any form of unwinding exceptions.
I think we differ on this. I learned
?. Maybe it’s just confirmation bias, but I feel like that is the more intuitive order to learn.
Result is far simpler and more intuitive than
Result leads naturally to
? once someone has written enough code to wonder about ergonomics. Moreover …
How did you come to this conclusion? Personally, that’s not the experience I had. And I don’t think it’s the experience of people I have worked with while they were learning rust. And I don’t even think this is the approach take by The Book. Is it based on a survey or something?
I can appreciate this, but personally, I would be ok with not building out the whole system all at once. This pre-RFC is a bit too ambitious IMHO.
I really don’t want implicit Ok-wrapping. But I am ok (no pun untended ) with something like
throw provided that it is not conflated with exceptions and doesn’t reinforce that intuition (as per @chriskrycho’s arguments). I tend to think of those as two distinct features that could exist without each other and still be useful, just as
? does today.