diff options
Diffstat (limited to 'crates/ra_hir/src/generics.rs')
-rw-r--r-- | crates/ra_hir/src/generics.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/ra_hir/src/generics.rs b/crates/ra_hir/src/generics.rs index 1c71e21ea..2e52c5871 100644 --- a/crates/ra_hir/src/generics.rs +++ b/crates/ra_hir/src/generics.rs | |||
@@ -9,7 +9,7 @@ use ra_syntax::ast::{self, NameOwner, TypeParamsOwner, TypeBoundsOwner}; | |||
9 | 9 | ||
10 | use crate::{ | 10 | use crate::{ |
11 | db::DefDatabase, | 11 | db::DefDatabase, |
12 | Name, AsName, Function, Struct, Enum, Trait, TypeAlias, ImplBlock, Container, path::Path, type_ref::TypeRef | 12 | Name, AsName, Function, Struct, Enum, Trait, TypeAlias, ImplBlock, Container, path::Path, type_ref::TypeRef, AdtDef |
13 | }; | 13 | }; |
14 | 14 | ||
15 | /// Data about a generic parameter (to a function, struct, impl, ...). | 15 | /// Data about a generic parameter (to a function, struct, impl, ...). |
@@ -157,6 +157,15 @@ impl From<Container> for GenericDef { | |||
157 | } | 157 | } |
158 | } | 158 | } |
159 | 159 | ||
160 | impl From<crate::adt::AdtDef> for GenericDef { | ||
161 | fn from(adt: crate::adt::AdtDef) -> Self { | ||
162 | match adt { | ||
163 | AdtDef::Struct(s) => s.into(), | ||
164 | AdtDef::Enum(e) => e.into(), | ||
165 | } | ||
166 | } | ||
167 | } | ||
168 | |||
160 | pub trait HasGenericParams { | 169 | pub trait HasGenericParams { |
161 | fn generic_params(self, db: &impl DefDatabase) -> Arc<GenericParams>; | 170 | fn generic_params(self, db: &impl DefDatabase) -> Arc<GenericParams>; |
162 | } | 171 | } |