aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/method_resolution.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-10-30 09:27:54 +0000
committerAleksey Kladov <[email protected]>2019-10-30 09:27:54 +0000
commita136cc0653d2b4133fb6387009cfdbaf3e2cf275 (patch)
treec7693867220abfefd90acb9965d91c6fe0023d38 /crates/ra_hir/src/ty/method_resolution.rs
parent56bc874f1d14922686b26afc8793b7e57a652990 (diff)
introduce ra_hir_def
Diffstat (limited to 'crates/ra_hir/src/ty/method_resolution.rs')
-rw-r--r--crates/ra_hir/src/ty/method_resolution.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/ra_hir/src/ty/method_resolution.rs b/crates/ra_hir/src/ty/method_resolution.rs
index ad2ab560d..50583a142 100644
--- a/crates/ra_hir/src/ty/method_resolution.rs
+++ b/crates/ra_hir/src/ty/method_resolution.rs
@@ -5,13 +5,13 @@
5use std::sync::Arc; 5use std::sync::Arc;
6 6
7use arrayvec::ArrayVec; 7use arrayvec::ArrayVec;
8use hir_def::CrateModuleId;
8use rustc_hash::FxHashMap; 9use rustc_hash::FxHashMap;
9 10
10use super::{autoderef, lower, Canonical, InEnvironment, TraitEnvironment, TraitRef}; 11use super::{autoderef, lower, Canonical, InEnvironment, TraitEnvironment, TraitRef};
11use crate::{ 12use crate::{
12 db::HirDatabase, 13 db::HirDatabase,
13 impl_block::{ImplBlock, ImplId}, 14 impl_block::{ImplBlock, ImplId},
14 nameres::CrateModuleId,
15 resolve::Resolver, 15 resolve::Resolver,
16 ty::primitive::{FloatBitness, UncertainFloatTy, UncertainIntTy}, 16 ty::primitive::{FloatBitness, UncertainFloatTy, UncertainIntTy},
17 ty::{Ty, TypeCtor}, 17 ty::{Ty, TypeCtor},
@@ -50,7 +50,7 @@ impl CrateImplBlocks {
50 let fingerprint = TyFingerprint::for_impl(ty); 50 let fingerprint = TyFingerprint::for_impl(ty);
51 fingerprint.and_then(|f| self.impls.get(&f)).into_iter().flat_map(|i| i.iter()).map( 51 fingerprint.and_then(|f| self.impls.get(&f)).into_iter().flat_map(|i| i.iter()).map(
52 move |(module_id, impl_id)| { 52 move |(module_id, impl_id)| {
53 let module = Module { krate: self.krate, module_id: *module_id }; 53 let module = Module::new(self.krate, *module_id);
54 ImplBlock::from_id(module, *impl_id) 54 ImplBlock::from_id(module, *impl_id)
55 }, 55 },
56 ) 56 )
@@ -62,7 +62,7 @@ impl CrateImplBlocks {
62 ) -> impl Iterator<Item = ImplBlock> + 'a { 62 ) -> impl Iterator<Item = ImplBlock> + 'a {
63 self.impls_by_trait.get(&tr).into_iter().flat_map(|i| i.iter()).map( 63 self.impls_by_trait.get(&tr).into_iter().flat_map(|i| i.iter()).map(
64 move |(module_id, impl_id)| { 64 move |(module_id, impl_id)| {
65 let module = Module { krate: self.krate, module_id: *module_id }; 65 let module = Module::new(self.krate, *module_id);
66 ImplBlock::from_id(module, *impl_id) 66 ImplBlock::from_id(module, *impl_id)
67 }, 67 },
68 ) 68 )
@@ -71,7 +71,7 @@ impl CrateImplBlocks {
71 pub fn all_impls<'a>(&'a self) -> impl Iterator<Item = ImplBlock> + 'a { 71 pub fn all_impls<'a>(&'a self) -> impl Iterator<Item = ImplBlock> + 'a {
72 self.impls.values().chain(self.impls_by_trait.values()).flat_map(|i| i.iter()).map( 72 self.impls.values().chain(self.impls_by_trait.values()).flat_map(|i| i.iter()).map(
73 move |(module_id, impl_id)| { 73 move |(module_id, impl_id)| {
74 let module = Module { krate: self.krate, module_id: *module_id }; 74 let module = Module::new(self.krate, *module_id);
75 ImplBlock::from_id(module, *impl_id) 75 ImplBlock::from_id(module, *impl_id)
76 }, 76 },
77 ) 77 )
@@ -90,14 +90,14 @@ impl CrateImplBlocks {
90 self.impls_by_trait 90 self.impls_by_trait
91 .entry(tr.trait_) 91 .entry(tr.trait_)
92 .or_insert_with(Vec::new) 92 .or_insert_with(Vec::new)
93 .push((module.module_id, impl_id)); 93 .push((module.id.module_id, impl_id));
94 } 94 }
95 } else { 95 } else {
96 if let Some(target_ty_fp) = TyFingerprint::for_impl(&target_ty) { 96 if let Some(target_ty_fp) = TyFingerprint::for_impl(&target_ty) {
97 self.impls 97 self.impls
98 .entry(target_ty_fp) 98 .entry(target_ty_fp)
99 .or_insert_with(Vec::new) 99 .or_insert_with(Vec::new)
100 .push((module.module_id, impl_id)); 100 .push((module.id.module_id, impl_id));
101 } 101 }
102 } 102 }
103 } 103 }