The latter bit is the opposite, that is, old compilers can’t possibly know about new features, and that’s not a compatibility issue. That’s an older tool chain issue, or maybe a “community prefers newer tool chains than distros do” issue.
And that's only the first problem with maintaining old Rust projects. There are so many other issues, specially with projects created in very early Rust days.
Tell me, have you ever seen a go project failing due to similar issues? Python had this problem once (2 to 3) and they are still apologising for it.
(Not trying to start a language flame war. I like Rust and want it to succeed. But right now things are a bit chaotic)
The Python 2 to 3 situation is very different, that is about new versions not compiling old code. We go to great lengths to make sure that that works well in Rust.
Specially the debian/Ubuntu Rust packages have hard time compiling many recent projects.