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

Reply via email to