aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/impls.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def/src/impls.rs')
-rw-r--r--crates/ra_hir_def/src/impls.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/crates/ra_hir_def/src/impls.rs b/crates/ra_hir_def/src/impls.rs
index 4323dfcb6..9be38c5e1 100644
--- a/crates/ra_hir_def/src/impls.rs
+++ b/crates/ra_hir_def/src/impls.rs
@@ -5,11 +5,12 @@
5 5
6use std::sync::Arc; 6use std::sync::Arc;
7 7
8use hir_expand::AstId;
8use ra_syntax::ast; 9use ra_syntax::ast;
9 10
10use crate::{ 11use crate::{
11 db::DefDatabase2, type_ref::TypeRef, AssocItemId, AstItemDef, ConstId, FunctionId, ImplId, 12 db::DefDatabase2, type_ref::TypeRef, AssocItemId, AstItemDef, ConstId, FunctionContainerId,
12 LocationCtx, TypeAliasId, 13 FunctionLoc, ImplId, Intern, LocationCtx, TypeAliasId,
13}; 14};
14 15
15#[derive(Debug, Clone, PartialEq, Eq)] 16#[derive(Debug, Clone, PartialEq, Eq)]
@@ -35,7 +36,12 @@ impl ImplData {
35 .impl_items() 36 .impl_items()
36 .map(|item_node| match item_node { 37 .map(|item_node| match item_node {
37 ast::ImplItem::FnDef(it) => { 38 ast::ImplItem::FnDef(it) => {
38 FunctionId::from_ast_id(ctx, items.ast_id(&it)).into() 39 let func_id = FunctionLoc {
40 container: FunctionContainerId::ImplId(id),
41 ast_id: AstId::new(src.file_id, items.ast_id(&it)),
42 }
43 .intern(db);
44 func_id.into()
39 } 45 }
40 ast::ImplItem::ConstDef(it) => { 46 ast::ImplItem::ConstDef(it) => {
41 ConstId::from_ast_id(ctx, items.ast_id(&it)).into() 47 ConstId::from_ast_id(ctx, items.ast_id(&it)).into()