On Fri, Jan 31, 2014 at 2:29 PM, Jack Moffitt <[email protected]> wrote:

> Every symbol in a crate is hashed with its version. You can load two
>  extern mod's of the same libriary with different versions with no
> problems. [...]
>

This is not what I'm asking. I understand this "works". I am curious
specifically about dependency resolution.

As for how you would calculate this, it's easy. You just use exactly
> the versions that the extern mods ask for. If they ask for a version,

you pick that one.


Okay, we've covered one and exactly one case here: pinning to an exact
version. I'm calling this an *antipattern: *it precludes updates (which may
contain things like security fixes) in the event when there are compatible
upgrades. So this is bad...


> If they don't, you pick the newest one.


What if we're incompatible with the newest version? How do we lock to the
nearest major (or potentially minor) version?


> This is substantially different than the Java (or Erlang) world where
>
the function names are not versioned behind the scenes and would
> clobber each other.
>

Yes, but you're discussing a function of the packaging system, not the
dependency resolver. These concerns are orthogonal.


> Hopefully I haven't misunderstood your question.


You have basically said the same things that have been said before without
answering my question whatsoever, so I'll ask it again:

In what situations are you saying there would actually be a workable
multi-version solution that wouldn't exist in a system like Maven.

Perhaps an example is in order? Can you give me an example of a set of
packages, versions, and dependencies, and show me:

1) How these dependencies would (or would not) be resolved in a
Maven/Bundler/apt-get/yum-like system that's doing something toposort-like
2) How these dependencies would be resolved in the as-yet-unspecified
handwavey pie-in-the-sky system which supports multiple versions of the
same package

I would specifically like to see an example of a problem where
Maven/Bundler/apt-get/yum could not arrive on a solution that a system
which supports the installation of multiple simultaneous versions could
solve

-- 
Tony Arcieri
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to