次のスニペットは、 nightly-2017-08-11-x86_64-unknown-linux-gnu
前に正常に機能します
#![allow(unknown_lints)]
#![allow(clippy)]
しかし今それは警告を報告します:
warning: unknown lint: `clippy`
--> /home/poc/src/../a/b.rs:2:10
|
2 | #![allow(clippy)]
| ^^^^^^
|
= note: #[warn(unknown_lints)] on by default
再現する手順:
これは予想される動作ですか、それともバグですか? ありがとうございました!
cc @ alexcrichton-おそらく新しいlintの実装に関連しています
はい、これはhttps://github.com/rust-lang/rust/pull/43522が原因このコード行にあります。 allow_lints
がスコープ内にあるかどうかのチェックは、リントされている属性の現在のセットをチェックしていません。
たとえば、これは警告しません:
#![allow(unknown_lints)]
#[allow(clippy)]
fn main() {}
しかし、これは警告します:
#![allow(unknown_lints)]
#![allow(clippy)]
fn main() {}
(お気づきのように)
修正は、その時点までのlint属性のセットが収集されているローカル変数specs
を考慮に入れることです。
https://github.com/rust-lang/rust/pull/43841でこのPRを開きました
最も参考になるコメント
https://github.com/rust-lang/rust/pull/43841でこのPRを開きました