tokio-rs / bytes

Utilities for working with bytes
MIT License
1.86k stars 278 forks source link

Silence unexpected-cfgs warnings due to `#[cfg(loom)]` #703

Closed Darksonn closed 4 months ago

Darksonn commented 4 months ago

Silence warnings from https://github.com/rust-lang/cargo/pull/13571 due to our use of #[cfg(loom)]

Urgau commented 4 months ago

Silencing the lint is very unfortunate. I understand that you may not want to use a build.rs, if you don't already have one, maybe you could use a custom CI step/job to still have the benefits of the lint.

Something like RUSTFLAGS='--check-cfg=cfg(loom) -Funexpected_cfgs' cargo check, maybe.

Darksonn commented 4 months ago

I'm not going to do that right now. But I opened a bug.

Urgau commented 3 months ago

Heads up, with the release of rust-lang/cargo#13913 (in nightly-2024-05-19) there is no longer any need for the silencing of the lint as employed in this PR. Cargo has now gain the ability to declare --check-cfg args directly inside the [lints] table with [lints.rust.unexpected_cfgs.check-cfg][^1]:

Cargo.toml:

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(foo)'] }

Note that the diagnostic output of the lint has been updated to suggest the [lints] approach first. You can use it to guide you through the --check-cfg arguments that may need to be added.

[^1]: take effect on Rust 1.80 (current nightly), is ignored on Rust 1.79 (current beta), and produce an unused warning below