Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/defs.rs')
| -rw-r--r-- | crates/ide-db/src/defs.rs | 55 |
1 files changed, 21 insertions, 34 deletions
diff --git a/crates/ide-db/src/defs.rs b/crates/ide-db/src/defs.rs index 52cd664000..c1fd002b34 100644 --- a/crates/ide-db/src/defs.rs +++ b/crates/ide-db/src/defs.rs @@ -22,7 +22,7 @@ use hir::{ Visibility, }; use span::Edition; -use stdx::format_to; +use stdx::{format_to, impl_from}; use syntax::{ SyntaxKind, SyntaxNode, SyntaxToken, ast::{self, AstNode}, @@ -891,33 +891,26 @@ impl<'db> NameRefClass<'db> { } } -macro_rules! impl_from_definition { - ($($variant:ident: $ty:ty),* $(,)?) => {$( - impl<'db> From<$ty> for Definition<'db> { - fn from(it: $ty) -> Self { - Definition::$variant(it) - } - } - )*}; -} - -impl_from_definition!( - Field: Field, - TupleField: TupleField<'db>, - Module: Module, - Function: Function, - Adt: Adt, - EnumVariant: EnumVariant, - Const: Const, - Static: Static, - Trait: Trait, - TypeAlias: TypeAlias, - BuiltinType: BuiltinType, - Local: Local<'db>, - GenericParam: GenericParam, - Label: Label, - Macro: Macro, - ExternCrateDecl: ExternCrateDecl, +impl_from!( + impl<'db> + Field, + TupleField<'db>, + Module, + Function, + Adt, + EnumVariant, + Const, + Static, + Trait, + TypeAlias, + BuiltinType, + Local<'db>, + GenericParam, + Label, + Macro, + ExternCrateDecl, + InlineAsmOperand + for Definition<'db> ); impl<'db> From<Impl> for Definition<'db> { @@ -926,12 +919,6 @@ impl<'db> From<Impl> for Definition<'db> { } } -impl<'db> From<InlineAsmOperand> for Definition<'db> { - fn from(value: InlineAsmOperand) -> Self { - Definition::InlineAsmOperand(value) - } -} - impl<'db> From<Either<PathResolution<'db>, InlineAsmOperand>> for Definition<'db> { fn from(value: Either<PathResolution<'db>, InlineAsmOperand>) -> Self { value.either(Definition::from, Definition::from) |