mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00

Package ID specification urls must contain a host Resolves https://github.com/rust-lang/cargo/issues/9041 Not sure which commit breaks this. Cargo shipped with rust 1.46 didn't unwrap on a `None` but 1.47 did. Even checkouted to 149022b1d8f382e69c1616f6a46b69ebf59e2dea (cargo of rust 1.46), it still unwrap unexpectedly. So I ended up following the [Specification grammer](https://doc.rust-lang.org/cargo/reference/pkgid-spec.html#specification-grammar) to make sure there is a `host` in the pkgid urls. <details> <summary>See console output</summary> cargo of rust 1.46 ```console $ cargo +1.46 -vV cargo 1.46.0 (149022b1d 2020-07-17) release: 1.46.0 commit-hash: 149022b1d8f382e69c1616f6a46b69ebf59e2dea commit-date: 2020-07-17 $ cargo +1.46 pkgid /path error: package ID specification `/path` matched no packages ``` cargo of rust 1.47 ```console $ cargo +1.47 -vV cargo 1.47.0 (f3c7e066a 2020-08-28) release: 1.47.0 commit-hash: f3c7e066ad66e05439cf8eab165a2de580b41aaf commit-date: 2020-08-28 $ cargo +1.47 pkgid /path thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/tools/cargo/src/cargo/core/package_id_spec.rs:234:50 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` cargo on commit 149022b1d8f382e69c1616f6a46b69ebf59e2dea ```console $ git checkout 149022b1d8f382e69c1616f6a46b69ebf59e2dea $ cargo run -- pkgid /path Compiling cargo-platform v0.1.1 ([..]/cargo/crates/cargo-platform) Compiling crates-io v0.31.1 ([..]/cargo/crates/crates-io) Compiling cargo v0.47.0 ([..]/cargo) Finished dev [unoptimized + debuginfo] target(s) in 22.90s Running `target/debug/cargo pkgid /path` thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/cargo/core/package_id_spec.rs:234:50 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` </details>