diff options
author | Aleksey Kladov <[email protected]> | 2019-09-12 21:35:53 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-09-13 14:24:10 +0100 |
commit | 51e2d76b9839410020c75ac02ad602675b0a5aa9 (patch) | |
tree | 989afd660d62db28196a8792cec2affb7bfd50a7 /crates/ra_hir/src/code_model.rs | |
parent | 1adf0519bcc8286c06e12aa7e5b16298addfea4a (diff) |
Specify desirable namespace when calling resolve
That way, we are able to get rid of a number of unreachable statements
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index c1938bd86..dad1c93c4 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -22,7 +22,7 @@ use crate::{ | |||
22 | U8, USIZE, | 22 | U8, USIZE, |
23 | }, | 23 | }, |
24 | nameres::{CrateModuleId, ImportId, ModuleScope, Namespace}, | 24 | nameres::{CrateModuleId, ImportId, ModuleScope, Namespace}, |
25 | resolve::Resolver, | 25 | resolve::{Resolver, TypeNs}, |
26 | traits::{TraitData, TraitItem}, | 26 | traits::{TraitData, TraitItem}, |
27 | ty::{ | 27 | ty::{ |
28 | primitive::{FloatBitness, FloatTy, IntBitness, IntTy, Signedness}, | 28 | primitive::{FloatBitness, FloatTy, IntBitness, IntTy, Signedness}, |
@@ -868,11 +868,9 @@ impl Trait { | |||
868 | } | 868 | } |
869 | _ => None, | 869 | _ => None, |
870 | }) | 870 | }) |
871 | .filter_map(|path| { | 871 | .filter_map(|path| match resolver.resolve_path_in_type_ns_fully(db, path) { |
872 | match resolver.resolve_path_without_assoc_items(db, path).take_types() { | 872 | Some(TypeNs::Trait(t)) => Some(t), |
873 | Some(crate::Resolution::Def(ModuleDef::Trait(t))) => Some(t), | 873 | _ => None, |
874 | _ => None, | ||
875 | } | ||
876 | }) | 874 | }) |
877 | .collect() | 875 | .collect() |
878 | } | 876 | } |