aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/resolve.rs
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2019-02-01 22:06:57 +0000
committerFlorian Diebold <[email protected]>2019-02-01 22:24:26 +0000
commitc5852f422ff45adaa21815c1a15e03b067a56a82 (patch)
treec53ff3531cbbad182e821eb92fa9ad201d2bff0c /crates/ra_hir/src/resolve.rs
parentd571d26955148befd6986008a5112fff3a901c43 (diff)
Some cleanup and additional tests
Diffstat (limited to 'crates/ra_hir/src/resolve.rs')
-rw-r--r--crates/ra_hir/src/resolve.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/crates/ra_hir/src/resolve.rs b/crates/ra_hir/src/resolve.rs
index 7929e8b7c..6c87d0df7 100644
--- a/crates/ra_hir/src/resolve.rs
+++ b/crates/ra_hir/src/resolve.rs
@@ -46,7 +46,6 @@ pub(crate) enum Scope {
46 46
47#[derive(Debug, Clone, PartialEq, Eq)] 47#[derive(Debug, Clone, PartialEq, Eq)]
48pub enum Resolution { 48pub enum Resolution {
49 // FIXME make these tuple variants
50 /// An item 49 /// An item
51 Def(ModuleDef), 50 Def(ModuleDef),
52 /// A local binding (only value namespace) 51 /// A local binding (only value namespace)
@@ -85,7 +84,7 @@ impl Resolver {
85 84
86 pub fn all_names(&self) -> FxHashMap<Name, PerNs<Resolution>> { 85 pub fn all_names(&self) -> FxHashMap<Name, PerNs<Resolution>> {
87 let mut names = FxHashMap::default(); 86 let mut names = FxHashMap::default();
88 for scope in &self.scopes { 87 for scope in self.scopes.iter().rev() {
89 scope.collect_names(&mut |name, res| { 88 scope.collect_names(&mut |name, res| {
90 let current: &mut PerNs<Resolution> = names.entry(name).or_default(); 89 let current: &mut PerNs<Resolution> = names.entry(name).or_default();
91 if current.types.is_none() { 90 if current.types.is_none() {