Skip to content

Depending on unpublished versions of dependencies #2375

Closed
@SimonSapin

Description

@SimonSapin

I’m currently working on a branch of rust-url that will eventually become version 1.0.0. It includes pervasive (breaking) API changes. I want to port some projects like Cargo and Hyper that depend on rust-url to this new unpublished rust-url version to see how the API works out in practice. It is important to do this before the new version is published, so that I can make further breaking changes.

So I’ll go in my clone of Cargo, add paths = ["../rust-url"] in .cargo/config, and start fixing build errors.

When it’s time to make a git commit, I’d like to change the dependency requirement in Cargo.toml as well: url = "1.0". This causes an error, even though the path override does have that version:

% cargo build     
    Updating registry `https://github.com/rust-lang/crates.io-index`
no matching package named `url` found (required by `cargo`)
location searched: registry https://github.com/rust-lang/crates.io-index
version required: ^1.0
versions found: 0.5.4, 0.5.3, 0.5.2, ...

So I have to revert that change and don’t forget to add it back when url 1.0 is finally published.

It would be nice if Cargo could deal with unpublished crates/versions locally. (If course when publishing, the crates.io server should still check that dependencies are published as well.)

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