Skip to content

Don't lint rustfmt deprecated_cfg_attr on expr #14606

Open
@A4-Tacks

Description

@A4-Tacks

Summary

If repairing with lint help, an error will be triggered

error[E0658]: attributes on expressions are experimental
 --> src/main.rs:3:9
  |
3 |         #[rustfmt::skip]
  |         ^^^^^^^^^^^^^^^^
  |
  = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
  = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable
  = note: this compiler was built on 2025-04-01; consider upgrading it if it is out of date

For more information about this error, try `rustc --explain E0658`.

Lint Name

deprecated_cfg_attr

Reproducer

I tried this code:

fn main() {
    let _n = {
        #[cfg_attr(rustfmt, rustfmt::skip)]
        (
            1
        )
    };
}

I saw this happen:

warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool attributes
 --> src/main.rs:3:9
  |
3 |         #[cfg_attr(rustfmt, rustfmt::skip)]
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]`
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr
  = note: `#[warn(clippy::deprecated_cfg_attr)]` on by default

I expected to see this happen:
no warnings

Version

rustc 1.88.0-nightly (e2014e876 2025-04-01)
binary: rustc
commit-hash: e2014e876e3efaa69bf51c19579adb16c3df5f81
commit-date: 2025-04-01
host: aarch64-unknown-linux-gnu
release: 1.88.0-nightly
LLVM version: 20.1.1

Additional Labels

No response

Metadata

Metadata

Assignees

Labels

C-bugCategory: Clippy is not doing the correct thingI-false-positiveIssue: The lint was triggered on code it shouldn't have

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions