It is so impressive to me how Rust manages to get so many silly but non-obvious little things right (e.g. trailing commas), while also managing the heretofore impossibility of being a better C++ by offering a significant benefit (borrow checking). It's a lot of things to line up!
Conversation
I think the traits design was Haskell cargo culting; I would have preferred ML functors, but that aside I have very few complaints about Rust's design. Some use it for applications where it is ill-suited. I wouldn't consider implementing my proof assistant in rust, for example.
1
5
Yeah, my enthusiasm is a bit tempered regarding traits, but I appreciate the rapid ongoing work the team does on them that would take so much longer for other PLs.
1
also, the lack of repl and typed holes and similar features sometimes makes it tricky for me to figure out my types without just breaking it down into a pile of explicitly typed bindings, but those aren't breaking design issues, just missing conveniences
2
1
Oh, boy, yes do the loss of holes hurt today! With ghcide and holes, my code type checks the vast majority of the time, while with rust-analyzer I am always having to filter the meaningful type errors and warnings from stuff I just haven’t yet finished.
1
3
You might want to hit up Maklad on this - he's brought it up before here, but I didn't get around to responding (mainly due to overthinking how best to respond):
Definitely wish Rust had proper typed holes! Not just `todo!()`/`unimplemented!()`.
1


