On Fri, Jan 31, 2014 at 2:59 PM, Strahinja Markovic <[email protected]> wrote:
> This is exactly the system I was referring to. Rust makes it easy to have > multiple versions of a library linked into a single binary. If the > libraries you depend on all ask for the latest (or unspecified) version of > a library, you pull in the latest. If they ask for a specific version, you > link that in as well. > > The package manager should make this more granular as well; instead of > offering "latest" and "exact version", you specify depending on libfoo with > "latest", "1.2.3", "1.2.x", "1.x" etc. If the constraint is "1.x", you pick > the latest version that's still 1.x. > > And then you link in *all* the libs that are necessary to satisfy the > various constraints, you *don't* look for the One True Version that > satisfies all of your deps. > I am 100% clear that, from a technical perspective, Rust has the ability to support multiple different versions of the same library simultaneously. However: 1) Is this a good idea? 2) Is this compatible with the idea of toposort-style dependency resolution? Can anyone point to a real-world example of a dependency resolver which can produce solutions which may-or-may-not contain multiple versions of the same library? -- Tony Arcieri
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
