Следующий фрагмент отлично работает до 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() {}
(как вы заметили)
Исправление состоит в том, чтобы просто принять во внимание локальную переменную specs
которая имеет собранный до этого момента набор атрибутов lint.
Я открыл для этого PR на https://github.com/rust-lang/rust/pull/43841
Самый полезный комментарий
Я открыл для этого PR на https://github.com/rust-lang/rust/pull/43841