#![feature(rustc_private)] // This test checks that all lints defined in `clippy_config::conf` in `#[lints]` // attributes exist as Clippy lints. // // This test is a no-op if run as part of the compiler test suite // and will always succeed. use std::collections::HashSet; #[test] fn config_consistency() { if option_env!("RUSTC_TEST_SUITE").is_some() { return; } let lint_names: HashSet = clippy_lints::declared_lints::LINTS .iter() .map(|lint_info| lint_info.lint.name.strip_prefix("clippy::").unwrap().to_lowercase()) .collect(); for conf in clippy_config::get_configuration_metadata() { for lint in conf.lints { assert!( lint_names.contains(*lint), "Configuration option {} references lint `{lint}` which does not exist", conf.name ); } } }