Hack our lint allow/deny stuff to permit unknown lints on non-nightly.
On !588 (merged), we wanted to #[allow(significant_drop_in_scrutinee)]
, but ran into trouble with it being a nightly-only warning.
@Diziet suggests:
This business with unknown lints and multiple compiler versions is a mess (in upstream), isn't it. We need an approach for this. How about, in the list in
maint/add_warning
:
- add the suppression as an
#[allow]
- add
#![cfg_attr(not(ci_arti_nightly), allow(unknown_lints))]
(and whatever aliases)- add
#![cfg_attr(not(ci_arti_stable), allow(renamed_and_removed_lints)]
(and provide the corresponding argument in the gitlab CI runes)I think the result will be that we can name nightly-only lints just fine, but we will still get told (by the CI on stable) about any ancient lint names that are no longer relevant and (by the CI on nightly) about any lints that are simply misspelled.
And, random people building arti will be allowed to write whatever lints they like without getting warnings. That's OK I think.
Edited by Nick Mathewson