Das folgende Snippet funktioniert einwandfrei vor nightly-2017-08-11-x86_64-unknown-linux-gnu
#![allow(unknown_lints)]
#![allow(clippy)]
aber jetzt meldet es eine Warnung:
warning: unknown lint: `clippy`
--> /home/poc/src/../a/b.rs:2:10
|
2 | #![allow(clippy)]
| ^^^^^^
|
= note: #[warn(unknown_lints)] on by default
Schritte zum Reproduzieren:
Ist das ein erwartetes Verhalten oder ein Fehler? Dankeschön!
cc @alexcrichton -- wahrscheinlich im Zusammenhang mit der neuen Lint-Implementierung
Ja, dies wurde durch https://github.com/rust-lang/rust/pull/43522 verursacht dieser Codezeile . Die Prüfung, ob allow_lints
im Gültigkeitsbereich liegt, prüft nicht den aktuellen Satz von linted Attributen.
Dies warnt zum Beispiel nicht:
#![allow(unknown_lints)]
#[allow(clippy)]
fn main() {}
aber das warnt:
#![allow(unknown_lints)]
#![allow(clippy)]
fn main() {}
(wie Sie bemerkt haben)
Die Lösung besteht darin, nur die lokale Variable specs
zu berücksichtigen, die die bis dahin gesammelten lint-Attribute enthält.
Ich habe dazu eine PR geöffnet unter https://github.com/rust-lang/rust/pull/43841
Hilfreichster Kommentar
Ich habe dazu eine PR geöffnet unter https://github.com/rust-lang/rust/pull/43841