diff options
Diffstat (limited to 'crates/ra_project_model/src/sysroot.rs')
-rw-r--r-- | crates/ra_project_model/src/sysroot.rs | 10 |
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 | } |