Rust: #![allow(unknown_lints)] tidak berfungsi jika ada unknow lint pada level yang sama sejak nightly-2017-08-11-x86_64-unknown-linux-gnu

Dibuat pada 11 Agu 2017  ·  3Komentar  ·  Sumber: rust-lang/rust

Cuplikan berikut berfungsi dengan baik sebelum nightly-2017-08-11-x86_64-unknown-linux-gnu

#![allow(unknown_lints)]
#![allow(clippy)]

tetapi sekarang ia melaporkan peringatan:

warning: unknown lint: `clippy`
 --> /home/poc/src/../a/b.rs:2:10
  |
2 | #![allow(clippy)]
  |          ^^^^^^
  |
  = note: #[warn(unknown_lints)] on by default

Langkah-langkah untuk mereproduksi:

  1. klon https://github.com/overvenus/poc.git
  2. rustup override set nightly-2017-08-11
  3. tes kargo

Apakah ini perilaku yang diharapkan, atau bug? Terima kasih!

C-bug T-compiler regression-from-stable-to-nightly

Komentar yang paling membantu

Saya telah membuka PR untuk ini di https://github.com/rust-lang/rust/pull/43841

Semua 3 komentar

cc @alexcrichton -- mungkin terkait dengan implementasi lint baru

Ya ini disebabkan oleh https://github.com/rust-lang/rust/pull/43522. Bug ada di baris kode ini . Pemeriksaan apakah allow_lints ada dalam cakupan tidak memeriksa set atribut saat ini yang sedang dilinting.

Misalnya ini tidak memperingatkan:

#![allow(unknown_lints)]

#[allow(clippy)]
fn main() {}

tapi ini memperingatkan:

#![allow(unknown_lints)]
#![allow(clippy)]

fn main() {}

(seperti yang Anda perhatikan)

Cara mengatasinya adalah dengan mempertimbangkan variabel lokal specs yang memiliki kumpulan atribut lint terkini yang dikumpulkan.

Saya telah membuka PR untuk ini di https://github.com/rust-lang/rust/pull/43841

Apakah halaman ini membantu?
0 / 5 - 0 peringkat