mozilla / grcov

Rust tool to collect and aggregate code coverage data for multiple source files
Mozilla Public License 2.0
1.17k stars 148 forks source link

proc-macro2 v1.0.52 broken on current Rust nightly #1069

Closed dennisschagt closed 1 year ago

dennisschagt commented 1 year ago

The Cargo.lock file currently specifies v1.0.52 for proc-macro2: https://github.com/mozilla/grcov/blob/2dac8cf9ed5d1b4e8ae5bef7b9a82f8ba18e2389/Cargo.lock#L1070-L1072

That version of proc-macro2 is broken on nightly since nightly-2023-06-28. It looks like it is fixed since proc-macro2 v1.0.60.

The issue can be reproduced with grcov by installing it with Cargo's --locked option: cargo +nightly install --locked grcov --force

Output:

$ cargo +nightly install --locked grcov --force
    Updating crates.io index
  Installing grcov v0.8.18
    Updating crates.io index
warning: package `hermit-abi v0.3.1` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
    Updating crates.io index
   Compiling libc v0.2.140
   Compiling proc-macro2 v1.0.52
   Compiling unicode-ident v1.0.3
   Compiling quote v1.0.26
   Compiling version_check v0.9.4
   Compiling cfg-if v1.0.0
   Compiling memchr v2.5.0
   Compiling autocfg v1.1.0
error[E0635]: unknown feature `proc_macro_span_shrink`
  --> /home/dennis/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.52/src/lib.rs:92:30
   |
92 |     feature(proc_macro_span, proc_macro_span_shrink)
   |                              ^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0635`.
error: could not compile `proc-macro2` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `grcov v0.8.18`, intermediate artifacts can be found at `/tmp/cargo-installyJXfYg`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

It might be nice to update the version specified in the Cargo.lock file.