After actually working with it a bit, I still think 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.

@timorl It's the most useful error propagation tool I've so far had my hands on; it is explicit and opt-in yet unobtrusive. What's there not to like?

@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.

@timorl These two are odd, but github.com/rust-lang/rfcs/blob 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.

@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!

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.