diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-12-07 19:26:33 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2019-12-07 19:26:33 +0000 |
commit | 971df306ada43f6150e12a143873f680e104a866 (patch) | |
tree | 913c24e889f3db8044b4b9f11bc3969e7eb02e34 /crates/ra_hir/src/code_model | |
parent | a3eb8787452a04400784ba8fed38303232595695 (diff) | |
parent | 88c5b1282a5770097c6c768b24bedfc3a6944e08 (diff) |
Merge #2494
2494: Get the right analyzer for impls r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/code_model')
-rw-r--r-- | crates/ra_hir/src/code_model/src.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/ra_hir/src/code_model/src.rs b/crates/ra_hir/src/code_model/src.rs index 78a454082..b09582f93 100644 --- a/crates/ra_hir/src/code_model/src.rs +++ b/crates/ra_hir/src/code_model/src.rs | |||
@@ -10,7 +10,7 @@ use ra_syntax::ast; | |||
10 | 10 | ||
11 | use crate::{ | 11 | use crate::{ |
12 | db::DefDatabase, Const, Enum, EnumVariant, FieldSource, Function, ImplBlock, Import, MacroDef, | 12 | db::DefDatabase, Const, Enum, EnumVariant, FieldSource, Function, ImplBlock, Import, MacroDef, |
13 | Module, Static, Struct, StructField, Trait, TypeAlias, Union, | 13 | Module, Static, Struct, StructField, Trait, TypeAlias, TypeParam, Union, |
14 | }; | 14 | }; |
15 | 15 | ||
16 | pub use hir_expand::InFile; | 16 | pub use hir_expand::InFile; |
@@ -129,3 +129,11 @@ impl HasSource for Import { | |||
129 | src.with_value(ptr.map_left(|it| it.to_node(&root)).map_right(|it| it.to_node(&root))) | 129 | src.with_value(ptr.map_left(|it| it.to_node(&root)).map_right(|it| it.to_node(&root))) |
130 | } | 130 | } |
131 | } | 131 | } |
132 | |||
133 | impl HasSource for TypeParam { | ||
134 | type Ast = Either<ast::TraitDef, ast::TypeParam>; | ||
135 | fn source(self, db: &impl DefDatabase) -> InFile<Self::Ast> { | ||
136 | let child_source = self.id.parent.child_source(db); | ||
137 | child_source.map(|it| it[self.id.local_id].clone()) | ||
138 | } | ||
139 | } | ||