aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/per_ns.rs
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2019-12-25 17:05:16 +0000
committerFlorian Diebold <[email protected]>2019-12-26 15:23:40 +0000
commit21359c3ab5fc497d11b2c0f0435c7635336a726e (patch)
treead438e045f50be776a9245ceb367598e7b60f8f9 /crates/ra_hir_def/src/per_ns.rs
parent8ac25f119eb45d425370d9f7f093bc206e6c4a9f (diff)
Take visibility into account for glob imports
Diffstat (limited to 'crates/ra_hir_def/src/per_ns.rs')
-rw-r--r--crates/ra_hir_def/src/per_ns.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/ra_hir_def/src/per_ns.rs b/crates/ra_hir_def/src/per_ns.rs
index 16e61a6a5..7637d8a37 100644
--- a/crates/ra_hir_def/src/per_ns.rs
+++ b/crates/ra_hir_def/src/per_ns.rs
@@ -61,6 +61,14 @@ impl PerNs {
61 self.macros.map(|it| it.0) 61 self.macros.map(|it| it.0)
62 } 62 }
63 63
64 pub fn filter_visibility(self, mut f: impl FnMut(ResolvedVisibility) -> bool) -> PerNs {
65 PerNs {
66 types: self.types.filter(|(_, v)| f(*v)),
67 values: self.values.filter(|(_, v)| f(*v)),
68 macros: self.macros.filter(|(_, v)| f(*v)),
69 }
70 }
71
64 pub fn with_visibility(self, vis: ResolvedVisibility) -> PerNs { 72 pub fn with_visibility(self, vis: ResolvedVisibility) -> PerNs {
65 PerNs { 73 PerNs {
66 types: self.types.map(|(it, _)| (it, vis)), 74 types: self.types.map(|(it, _)| (it, vis)),