Skip to content

Instantly share code, notes, and snippets.

@phaazon

phaazon/dylanmusk.rs

Last active Jan 3, 2020
Embed
What would you like to do?
For Dylan Musk
// A depends on B-0.1 and C-0.1
// B depends on C-0.1
// in C
struct Foo;
struct Bar;
// in A
fn foo(_: Foo, _: Bar);
// in B
fn zoo(_: Foo);
// NOW DYLAN, imagine that you update C to the following C-0.2, containing only:
struct Foo;
// Bar doesn’t exist anymore. B can update to C-0.2 so it’s not a breaking change for B (that we could release
// as B-0.1.1 for instance
// However, A is going to break and A’s devs don’t want to update yet. However, they would like to benefit from B-0.1.1
// because it also has some bug fixes or whatever
// If you make B-0.1.1 by bumping its dependency to C-0.2, A is fucked, EVEN IF IT COULD HAVE UPDATED.
// The real solution is to use semver range on C in B: C = >= 0.1, < 0.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.