After actually working with it a bit, I still think #rust might be one of the more reasonable popular languages out there, but the semantics of the `?` operator are stupid. It looks like the result of an oath to include it in the language, whatever the cost, between two drunken developers – one from Go one from Haskell.
@chrysn Kind of answered in the other toot, but in short:
1. Two types are treated very specially at the level of the language.
2. Afaik this is the only language feature that uses automatic coersion.
@chrysn Oh that is *massively* better than the current situation, I didn't know about this RFC. Even the auto-coersion doesn't bother me that much, since now it's a strange artifact of the `Result` implementation rather than an inherent feature of the language. Thanks!
@timorl These two are odd, but https://github.com/rust-lang/rfcs/blob/master/text/3058-try-trait-v2.md seems to improve the previous MVP into something more aligned. There will still be some auto-into-ing left, but with a trait backing it it'll be smoother.