Skip to content

[replace] does not replace metadata (dependencies) #2603

Closed
@SimonSapin

Description

@SimonSapin

I have a branch of Servo with this override:

[replace]
"hyper:0.8.1" = {git = "https://github.com/servo/hyper", branch = "url-1.0"}

In that git branch, the Cargo.toml for hyper contains:

[dependencies]
url = "1.0"

However, hyper with my replaced sourced is built with url 0.5.9, which is the dependency declared in the original un-replaced hyper. Cargo.lock even shows this:

[[package]]
name = "hyper"
version = "0.8.1"
source = "git+https://github.com/servo/hyper?branch=url-1.0#353217402264578933dca89c0e7f210052c552a5"
dependencies = [
 […]
 "url 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
]

Where dependencies does not match what’s in the Cargo.toml file at source.

(Specifying an additional replacement for "url:0.5.9" = {git = "https://github.com/servo/rust-url", branch = "1.0.0-pretending-to-be-0.5.9"} worked, but I was trying to remove it now that url 1.0.0 is on crates.io.)

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