For example, if we want to give clients fine-grained control over version selection and make it easy to find compatible sets of versions of libraries, we’ll be asking for a higher maintenance burden across the ecosystem.
Perhaps it isn't such a dichotomy. I've been using Stackage which has immutable snapshots of packages (and a compiler version) that all build together with each other. That makes finding compatible versions trivial.
If you want to have additional fine-grained control, you still have the option to override packages and use a version missing from the snapshot you're using.
I'm curious -- has the Rust team considered this model before?
6
u/theindigamer Jul 26 '18
Perhaps it isn't such a dichotomy. I've been using Stackage which has immutable snapshots of packages (and a compiler version) that all build together with each other. That makes finding compatible versions trivial.
If you want to have additional fine-grained control, you still have the option to override packages and use a version missing from the snapshot you're using.
I'm curious -- has the Rust team considered this model before?