Poor error from cargo update --precise when upgrading to pre-release · Issue #12579 · rust-lang/cargo (original) (raw)

Problem

Starting with a working project that depends on cargo-pretag-version-issue-test = "0.1.0", running cargo update -p cargo-pretag-version-issue-test --precise 0.1.1-pre0 returns an unhelpful error message.

> cargo update -p cargo-pretag-version-issue-test --precise 0.1.1-pre0
    Updating crates.io index
error: no matching package named `cargo-pretag-version-issue-test` found
location searched: registry `crates-io`
required by package `tmp-08luyo v0.1.0 (/home/ethan/.cache/cargo-temp/tmp-08luyo)`

Steps

I created cargo-pretag-version-issue-test to demonstrate this issue. It has two versions, 0.1.0 and 0.1.1-pre0.

> cargo new issue
     Created binary (application) `issue` package
> cargo add cargo-pretag-version-issue-test
    Updating crates.io index
      Adding cargo-pretag-version-issue-test v0.1.0 to dependencies.
    Updating crates.io index
> cargo tree
issue v0.1.0 (/home/ethan/.cache/cargo-temp/issue)
└── cargo-pretag-version-issue-test v0.1.0
> cargo update -p cargo-pretag-version-issue-test --precise 0.1.1-pre0
    Updating crates.io index
error: no matching package named `cargo-pretag-version-issue-test` found
location searched: registry `crates-io`
required by package `issue v0.1.0 (/home/ethan/.cache/cargo-temp/issue)`

Possible Solution(s)

Either,

or

Notes

No response

Version

Tested on both

cargo 1.72.0 (103a7ff2e 2023-08-15)
release: 1.72.0
commit-hash: 103a7ff2ee7678d34f34d778614c5eb2525ae9de
commit-date: 2023-08-15
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.2 vendored)
libcurl: 8.1.2-DEV (sys:0.4.63+curl-8.1.2 vendored ssl:OpenSSL/1.1.1u)
ssl: OpenSSL 1.1.1u  30 May 2023
os: NixOS 23.5.0 [64-bit]

and

cargo 1.74.0-nightly (925280f02 2023-08-25)
release: 1.74.0-nightly
commit-hash: 925280f028db3a322935e040719a0754703947cf
commit-date: 2023-08-25
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.2 vendored)
libcurl: 8.2.1-DEV (sys:0.4.65+curl-8.2.1 vendored ssl:OpenSSL/1.1.1u)
ssl: OpenSSL 1.1.1u  30 May 2023
os: NixOS 23.5.0 [64-bit]