diff options
Diffstat (limited to 'crates/ra_hir/src/resolve.rs')
-rw-r--r-- | crates/ra_hir/src/resolve.rs | 3 |
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)] |
48 | pub enum Resolution { | 48 | pub 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() { |