I love the care that goes into compiler error messages and warnings. I've watched a few people learn the language from scratch over the last few years (including a 14-year-old), and having a built-in teacher makes such a difference.

One thing I wish could be improved is that sometimes the (stable) rust compiler complains that you haven't implemented some unstable, nightly-only trait.

I find this very unhelpful to newcomers, and when they ask me for help, I can't come up with a better explanation than "yeah, that message is kind of broken. What it should have said is _____".

Today's example: "the trait `Step` is not implemented for `Foo`".

The `Step` trait is unstable. How is an inexperienced user supposed to know what to do next, if that's the error message produced? Saying "you didn't do the thing" when the stable compiler does not allow the thing is a bad look.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://hachyderm.io/users/ericseppanen/statuses/115883432816159288 on your instance and quote it. (Note that quoting is not supported in Mastodon.)