Skip to content

stable 1.87.0 builds clap 2.34.0 cleanly, stable 1.88.0 issues a warning, 1.90.0-nightly (9748d87dc 2025-07-21) errors! #144307

@nabijaczleweli

Description

@nabijaczleweli

I tried this code:

RUSTC_BOOTSTRAP=1 cargo install -f --git https://github.com/thecoshman/http

I expected to see this happen: it working

Instead, this happened: (https://github.com/thecoshman/http d3cf0f2ead63a2d9082f719671978bcc97d96599):

installed cleanly with stable 1.87.0

installed with a warning with stable 1.88.0

warning: implicit autoref creates a reference to the dereference of a raw pointer
   --> src/options.rs:130:21
    |
130 |             .author(crate_authors!("\n"))
    |                     ^^^^^^^^^^^^^^^^^^^^
    |
    = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
    = note: `#[warn(dangerous_implicit_autorefs)]` on by default
help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
   --> /home/nabijaczleweli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap-2.34.0/src/macros.rs:493:22
    |
493 |                     &(&(*VALUE))[..]
    |                      ++        +

failed to install with 1.90.0-nightly (9748d87 2025-07-21) (2)

error: implicit autoref creates a reference to the dereference of a raw pointer
   --> src/options.rs:130:21
    |
130 |             .author(crate_authors!("\n"))
    |                     ^^^^^^^^^^^^^^^^^^^^ this raw pointer has type `*const std::string::String`
    |
    = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
note: autoref is being applied to this expression, resulting in: `&std::string::String`
   --> src/options.rs:130:21
    |
130 |             .author(crate_authors!("\n"))
    |                     ^^^^^^^^^^^^^^^^^^^^
    = note: `#[deny(dangerous_implicit_autorefs)]` on by default
    = note: this error originates in the macro `crate_authors` (in Nightly builds, run with -Z macro-backtrace for more info)
help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
   --> /home/nabijaczleweli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap-2.34.0/src/macros.rs:493:22
    |
493 |                     &(&(*VALUE))[..]
    |                      ++        +

Meta

(Previous stable that worked: rustc 1.87.0 (17067e9ac 2025-05-09))

rustc --version --verbose:

rustc 1.88.0 (6b00bc388 2025-06-23)
binary: rustc
commit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc
commit-date: 2025-06-23
host: x86_64-unknown-linux-gnu
release: 1.88.0
LLVM version: 20.1.5

rustc +nightly --version --verbose:

rustc 1.90.0-nightly (9748d87dc 2025-07-21)
binary: rustc
commit-hash: 9748d87dc70a9a6725c5dbd76ce29d04752b4f90
commit-date: 2025-07-21
host: x86_64-unknown-linux-gnu
release: 1.90.0-nightly
LLVM version: 20.1.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.C-discussionCategory: Discussion or questions that doesn't represent real issues.L-dangerous_implicit_autorefsLint: dangerous_implicit_autorefs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions