Rollup merge of #104006 - flip1995:lang-items-clippy, r=oli-obk
Add variant_name function to `LangItem` Clippy has an internal lint that checks for the usage of hardcoded def paths and suggests to replace them with a lang or diagnostic item, if possible. This was implemented with a hack, by getting all the variants of the `LangItem` enum and then index into it with the position of the `LangItem` in the `items` list. This is no longer possible, because the `items` list can't be accessed anymore. Follow up to #103603 cc `@camsteffen` r? `@oli-obk` This is blocking the sync between Clippy and Rust. I'm not sure if this is the best solution here, or if I should add a method `items()` to `LanguageItems` and keep the code in Clippy unchanged.
This commit is contained in:
commit
2ea012619e
6 changed files with 35 additions and 36 deletions
|
@ -95,6 +95,14 @@ macro_rules! language_item_table {
|
|||
}
|
||||
}
|
||||
|
||||
/// Returns the name of the `LangItem` enum variant.
|
||||
// This method is used by Clippy for internal lints.
|
||||
pub fn variant_name(self) -> &'static str {
|
||||
match self {
|
||||
$( LangItem::$variant => stringify!($variant), )*
|
||||
}
|
||||
}
|
||||
|
||||
pub fn target(self) -> Target {
|
||||
match self {
|
||||
$( LangItem::$variant => $target, )*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue