aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/lower.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-11-26 13:59:24 +0000
committerAleksey Kladov <[email protected]>2019-11-26 14:44:43 +0000
commit4a0792362e2c6cae2809520da454471d5a917384 (patch)
treee0205440b58772a43f13e2a4c547f1b7008efe46 /crates/ra_hir/src/ty/lower.rs
parent4d753fa6f514ea1105c25ace91201c5324ee0b92 (diff)
Detangle ty from traits a bit
Diffstat (limited to 'crates/ra_hir/src/ty/lower.rs')
-rw-r--r--crates/ra_hir/src/ty/lower.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/crates/ra_hir/src/ty/lower.rs b/crates/ra_hir/src/ty/lower.rs
index 2d23890a5..9e3afabe0 100644
--- a/crates/ra_hir/src/ty/lower.rs
+++ b/crates/ra_hir/src/ty/lower.rs
@@ -28,6 +28,7 @@ use crate::{
28 db::HirDatabase, 28 db::HirDatabase,
29 ty::{ 29 ty::{
30 primitive::{FloatTy, IntTy}, 30 primitive::{FloatTy, IntTy},
31 utils::all_super_traits,
31 Adt, 32 Adt,
32 }, 33 },
33 util::make_mut_slice, 34 util::make_mut_slice,
@@ -260,7 +261,7 @@ impl Ty {
260 GenericPredicate::Implemented(tr) if tr.self_ty() == &self_ty => Some(tr.trait_), 261 GenericPredicate::Implemented(tr) if tr.self_ty() == &self_ty => Some(tr.trait_),
261 _ => None, 262 _ => None,
262 }); 263 });
263 let traits = traits_from_env.flat_map(|t| t.all_super_traits(db)); 264 let traits = traits_from_env.flat_map(|t| all_super_traits(db, t.id)).map(Trait::from);
264 for t in traits { 265 for t in traits {
265 if let Some(associated_ty) = t.associated_type_by_name(db, &segment.name) { 266 if let Some(associated_ty) = t.associated_type_by_name(db, &segment.name) {
266 let substs = Substs::build_for_def(db, t.id) 267 let substs = Substs::build_for_def(db, t.id)