
Do I also have to bump the edition if I want to get my hands on new non-breaking features (e.g. new syntax that simply wasn't legal before)?
Not that I know of. Rust has something kind of akin to extensions that they call unstable features. You can turn some of them on if you want to live on the edge (by adding a flag inside a file, e.g. `#![feature(box_syntax)]`). You have no guarantee of stability for them, they may even get removed in the next version of the compiler. (there was a time where unstable features were, in addition, only available in nightly builds I don't know if it's still the case). These unstable features get rolled in the compiler pretty quickly. And I believe that if they are backward compatible, they can get rolled in between editions (I'm not super practiced with Rust, so I don't pay a lot of attention to these details). I don't think that all the features have to be gated by a feature flag at some point. A strict improvement of the borrow checker would probably just be part of the next release. I should say that, anecdotally, editions have been pointed out to me as a reason why Rust is more stable than Haskell. /Arnaud