Skip to content

Incorrect Assumption about depending on version ranges. #343

@TroyKomodo

Description

@TroyKomodo

According to the docs on https://pubgrub-rs-guide.pages.dev/limitations/multiple_versions

Are buckets enought? Not quite, since once we introduce buckets, we also need a way to depend on multiple buckets alternatively. Indeed, most packages should have dependencies on a single bucket, because it doesn't make sense to depend on potentially incompatible versions at the same time. But rarely, dependencies are written such that they can depend on multiple buckets, such as if one write v >= 2.0. Then, any version from the 2.0 bucket would satisfy it, as well as any version from the 3.0 or any other later bucket. Thus, we cannot write "a depends on b in bucket 2.0". So how do we write dependencies of "a"? That's where we introduce the concept of proxies.

this part: doesn't make sense to depend on potentially incompatible versions at the same time isnt entirely correct.

Some examples of this are: https://github.com/diesel-rs/diesel/blob/780a7211020a6a5af27c1258a666365588e632a5/diesel/Cargo.toml#L35

In this example diesel has checked their code and has confirmed that their code is compatible with uuid from versions 0.7.0 up to 2.0.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions