Skip to content

-Clink-dead-code and -Cinstrument-coverage causes symbol already defined compiler error in nightly #137009

Closed
@xd009642

Description

@xd009642

Code

With just the following cargo.toml

[package]
name = "debug-tarp-issue"
version = "0.1.0"
edition = "2018"

[dependencies]
reqwest = { version = "0.12", features = ["blocking"] }

and a main.rs with the default contents. Running

RUSTFLAGS="-Clink-dead-code -Cinstrument-coverage" cargo test

Results in:

error: symbol `_RNCNvNtNtNtNtCs6KohR1qTMkp_10hyper_util6client6legacy7connect4http7connect0Bb_` is already defined
   --> /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-util-0.1.10/src/client/legacy/connect/http.rs:795:8
    |
795 |     Ok(async move {
    |        ^^^^^^^^^^

error: could not compile `hyper-util` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
Error: Process completed with exit code 101.

I've done a bit of work to narrow this down. So either of the flags on their own is fine, it's just the combination that causes the issue.,

I also have a MRE reproduction repo here: https://github.com/xd009642/debug-tarp-issue

Version with regression

So because this happened in a CI job for tarpaulin and we have some flaky tests and I don't use a mac myself I don't have an exact version. But this first occurred in our CI January 13th 2025. This is evident because the mac nightly builds have failed from that date until now. Mac stable and beta still work fine.

Metadata

Metadata

Labels

A-code-coverageArea: Source-based code coverage (-Cinstrument-coverage)A-monomorphizationArea: MonomorphizationA-name-manglingArea: name mangling / decorationC-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-untriagedUntriaged performance or correctness regression.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions