How are "editions" any different from C++ standards versions?
Both strategies have advantages and disadvantages.
For GCC it is safe to link together any combination of objects A, B, and C. If they are all built with the same version then they are ABI compatible, the standard version (i.e. the -std option) doesn't make any difference.
Ignore the part of the link where it talks about gotchas with linking together binaries made by different compiler versions because in Rust this case isn't supported at all.The difference is that editions are a first-class, supported mechanism for managing interoperability between code targeting different "standards versions". It's not up to the user and the linker to conspire so that things work out, it's part of the language, and you don't need to limit your public interfaces / generic code to the lowest version.
(I don't know if this is the best policy? It seems like it could be a big burden on implementations in the long run.)