L'extrait suivant fonctionne bien avant nightly-2017-08-11-x86_64-unknown-linux-gnu
#![allow(unknown_lints)]
#![allow(clippy)]
mais maintenant, il signale un avertissement :
warning: unknown lint: `clippy`
--> /home/poc/src/../a/b.rs:2:10
|
2 | #![allow(clippy)]
| ^^^^^^
|
= note: #[warn(unknown_lints)] on by default
Étapes à reproduire :
Est-ce un comportement attendu ou un bug ? Merci!
cc @alexcrichton -- probablement lié à la nouvelle implémentation de lint
Oui, cela a été causé par https://github.com/rust-lang/rust/pull/43522. Le bug est sur cette ligne de code . La vérification pour savoir si allow_lints
est dans la portée ne vérifie pas l'ensemble actuel d'attributs en cours de lint.
Par exemple, cela n'avertit pas :
#![allow(unknown_lints)]
#[allow(clippy)]
fn main() {}
mais ceci avertit:
#![allow(unknown_lints)]
#![allow(clippy)]
fn main() {}
(comme vous l'avez remarqué)
Le correctif consiste simplement à prendre en compte la variable locale specs
qui a collecté l'ensemble d'attributs de charpie jusqu'à ce point.
J'ai ouvert un PR pour cela à https://github.com/rust-lang/rust/pull/43841
Commentaire le plus utile
J'ai ouvert un PR pour cela à https://github.com/rust-lang/rust/pull/43841