aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_db/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_db/src/input.rs')
-rw-r--r--crates/ra_db/src/input.rs30
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
65impl CrateData { 65impl 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}