Skip to content

Cargo 1.56.0 (silently) fails to update the index after an index squash #11009

@psychon

Description

@psychon

Problem

Cargo claims that the newest libc version is 0.2.126 even though the newest version is 0.2.132 and cargo should now about it:

$ cd ~/.cargo/registry/index/git.colasdn.top-1ecc6299db9ec823/.git
$ git show $(cut -b 1-20 FETCH_HEAD):li/bc/libc | tail -n 7 | grep -o '"vers":"[^"]*"'
"vers":"0.2.126"
"vers":"0.2.127"
"vers":"0.2.128"
"vers":"0.2.129"
"vers":"0.2.130"
"vers":"0.2.131"
"vers":"0.2.132"

Steps

$ cargo --version
cargo 1.56.0
$ cargo new --bin foobar
     Created binary (application) `foobar` package
$ cd foobar
$ echo 'libc = "0.2.127"' >> Cargo.toml
$ cargo build
    Updating crates.io index
error: failed to select a version for the requirement `libc = "^0.2.127"`
candidate versions found which didn't match: 0.2.126, 0.2.125, 0.2.124, ...
location searched: crates.io index
required by package `foobar v0.1.0 (/tmp/foobar)`

Possible Solution(s)

No response

Notes

I manually hacked ~/.cargo/registry/index/git.colasdn.top-1ecc6299db9ec823/.cache/li/bc/libc, copied the entry for 0.2.126, called it 0.2.127 and updated the cksum. Now cargo finds 0.2.127. Dunno what is going on here.

The only other thing I noticed is that the index lists the features of 0.2.126 in alphabetical order but does not do so for 0.2.127.

Possibly related (or not): #10623

Version

$ cargo version --verbose
cargo 1.56.0
release: 1.56.0

Edit: Feel free to tell me "do not use such an old version". I just have no idea what is causing this and didn't find anything at all that seemed relevant, so I opened this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions