diff options
Diffstat (limited to 'crates/ra_db/src/input.rs')
-rw-r--r-- | crates/ra_db/src/input.rs | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index 275894252..614325a0f 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs | |||
@@ -64,10 +64,7 @@ struct CrateData { | |||
64 | 64 | ||
65 | impl CrateData { | 65 | impl CrateData { |
66 | fn new(file_id: FileId) -> CrateData { | 66 | fn new(file_id: FileId) -> CrateData { |
67 | CrateData { | 67 | CrateData { file_id, dependencies: Vec::new() } |
68 | file_id, | ||
69 | dependencies: Vec::new(), | ||
70 | } | ||
71 | } | 68 | } |
72 | 69 | ||
73 | fn add_dep(&mut self, name: SmolStr, crate_id: CrateId) { | 70 | fn add_dep(&mut self, name: SmolStr, crate_id: CrateId) { |
@@ -112,10 +109,7 @@ impl CrateGraph { | |||
112 | self.arena[&crate_id].file_id | 109 | self.arena[&crate_id].file_id |
113 | } | 110 | } |
114 | pub fn crate_id_for_crate_root(&self, file_id: FileId) -> Option<CrateId> { | 111 | pub fn crate_id_for_crate_root(&self, file_id: FileId) -> Option<CrateId> { |
115 | let (&crate_id, _) = self | 112 | let (&crate_id, _) = self.arena.iter().find(|(_crate_id, data)| data.file_id == file_id)?; |
116 | .arena | ||
117 | .iter() | ||
118 | .find(|(_crate_id, data)| data.file_id == file_id)?; | ||
119 | Some(crate_id) | 113 | Some(crate_id) |
120 | } | 114 | } |
121 | pub fn dependencies<'a>( | 115 | pub fn dependencies<'a>( |
@@ -153,15 +147,9 @@ mod tests { | |||
153 | let crate1 = graph.add_crate_root(FileId(1u32)); | 147 | let crate1 = graph.add_crate_root(FileId(1u32)); |
154 | let crate2 = graph.add_crate_root(FileId(2u32)); | 148 | let crate2 = graph.add_crate_root(FileId(2u32)); |
155 | let crate3 = graph.add_crate_root(FileId(3u32)); | 149 | let crate3 = graph.add_crate_root(FileId(3u32)); |
156 | assert!(graph | 150 | assert!(graph.add_dep(crate1, SmolStr::new("crate2"), crate2).is_ok()); |
157 | .add_dep(crate1, SmolStr::new("crate2"), crate2) | 151 | assert!(graph.add_dep(crate2, SmolStr::new("crate3"), crate3).is_ok()); |
158 | .is_ok()); | 152 | assert!(graph.add_dep(crate3, SmolStr::new("crate1"), crate1).is_err()); |
159 | assert!(graph | ||
160 | .add_dep(crate2, SmolStr::new("crate3"), crate3) | ||
161 | .is_ok()); | ||
162 | assert!(graph | ||
163 | .add_dep(crate3, SmolStr::new("crate1"), crate1) | ||
164 | .is_err()); | ||
165 | } | 153 | } |
166 | 154 | ||
167 | #[test] | 155 | #[test] |
@@ -170,11 +158,7 @@ mod tests { | |||
170 | let crate1 = graph.add_crate_root(FileId(1u32)); | 158 | let crate1 = graph.add_crate_root(FileId(1u32)); |
171 | let crate2 = graph.add_crate_root(FileId(2u32)); | 159 | let crate2 = graph.add_crate_root(FileId(2u32)); |
172 | let crate3 = graph.add_crate_root(FileId(3u32)); | 160 | let crate3 = graph.add_crate_root(FileId(3u32)); |
173 | assert!(graph | 161 | assert!(graph.add_dep(crate1, SmolStr::new("crate2"), crate2).is_ok()); |
174 | .add_dep(crate1, SmolStr::new("crate2"), crate2) | 162 | assert!(graph.add_dep(crate2, SmolStr::new("crate3"), crate3).is_ok()); |
175 | .is_ok()); | ||
176 | assert!(graph | ||
177 | .add_dep(crate2, SmolStr::new("crate3"), crate3) | ||
178 | .is_ok()); | ||
179 | } | 163 | } |
180 | } | 164 | } |