@stevenroose Rust 1.31 fixed usability problems of modules, and the base64 crate chose to use the newer syntax internally.
The oldest Rust version that is officially supported by the Rust team is 1.37.0.
Well, that's a big part of the problem. How can a team developing a systems programming language abandon each release after a few months..
@stevenroose The idea is that the compiler is backwards-compatible and automatically updates, so you never have a reason to stay on an old version.
It's exactly the same thinking as the change from the Internet Explorer upgrade model to Chrome upgrade model.
@kornel The flipside is that when your codebase is v1.19-compliant, you get a heckton of warnings printed about all kinds of things being deprecated.
But well, backwards compatibility is of course awesome. But there are reasons to stay on an older release, though: https://github.com/marshallpierce/rust-base64/issues/112#issuecomment-520907539
@stevenroose @kornel debian trying to be c's package manager: "oh yeah, we give you outdated software, but don't worry about security issues! when we hear of security issues in the upstream project, someone from our team will start editing critical parts of other people's c code until it compiles again, then we'll ship it to everybody. also, two thirds of our package names end with -dbg or -dev, because all software has header files and debug symbols, doesn't it?"
@stevenroose It definitely tries to follow a successful model. Cargo is very similar to npm. Language's backwards compat + continued evolution is similar to EcmaScript. Rustc release trains are the same as browsers' shipping V8 & SpiderMonkey.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.