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
