aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_project_model/src/sysroot.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_project_model/src/sysroot.rs')
-rw-r--r--crates/ra_project_model/src/sysroot.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs
index 3d827809e..10ca391b6 100644
--- a/crates/ra_project_model/src/sysroot.rs
+++ b/crates/ra_project_model/src/sysroot.rs
@@ -31,10 +31,18 @@ impl Sysroot {
31 self.by_name("core") 31 self.by_name("core")
32 } 32 }
33 33
34 pub fn alloc(&self) -> Option<SysrootCrate> {
35 self.by_name("alloc")
36 }
37
34 pub fn std(&self) -> Option<SysrootCrate> { 38 pub fn std(&self) -> Option<SysrootCrate> {
35 self.by_name("std") 39 self.by_name("std")
36 } 40 }
37 41
42 pub fn proc_macro(&self) -> Option<SysrootCrate> {
43 self.by_name("proc_macro")
44 }
45
38 pub fn crates<'a>(&'a self) -> impl Iterator<Item = SysrootCrate> + ExactSizeIterator + 'a { 46 pub fn crates<'a>(&'a self) -> impl Iterator<Item = SysrootCrate> + ExactSizeIterator + 'a {
39 self.crates.iter().map(|(id, _data)| id) 47 self.crates.iter().map(|(id, _data)| id)
40 } 48 }
@@ -70,7 +78,7 @@ impl Sysroot {
70 } 78 }
71 } 79 }
72 if let Some(alloc) = sysroot.by_name("alloc") { 80 if let Some(alloc) = sysroot.by_name("alloc") {
73 if let Some(core) = sysroot.by_name("core") { 81 if let Some(core) = sysroot.core() {
74 sysroot.crates[alloc].deps.push(core); 82 sysroot.crates[alloc].deps.push(core);
75 } 83 }
76 } 84 }