In RustCrypto we have a strict MSRV policy which considers MSRV updates a breaking change. To enforce it we test MSRV as part of our CI. Now some of our crates migrate to 2021 edition, while others stay on 2018 for now.
Let's say we have crates
bar in a single workspace, the former is on edition 2018 with MSRV 1.41, while the latter is on edition 2021 and MSRV 1.56. We can not test MSRV for
cargo tries to parse manifests for all packages in the workspace, encounters
edition = "2021" and fails with "failed to parse the
Right now we have to keep all 2021 edition crates in their own workspace using:
[workspace] members = ["."]
Obviously, it's far from ideal.
Can you recommend a better solution for this problem? Maybe it's worth to relax rules around
edition parsing in the case if the crate in question does not get build?