Unnamed repository; edit this file 'description' to name the repository.
Refactor to iterators
| -rw-r--r-- | crates/ide/src/rename.rs | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/crates/ide/src/rename.rs b/crates/ide/src/rename.rs index 8d0b70830c..9c9c4416ee 100644 --- a/crates/ide/src/rename.rs +++ b/crates/ide/src/rename.rs @@ -430,22 +430,24 @@ mod tests { // file_system_edits: // MoveFile AnchoredPathBuf { anchor: FileId(2), path: "foo2.rs", } - let mut source_file_edits = HashMap::new(); - for (id, (text_edit, _)) in source_change.source_file_edits { - let indels = text_edit.into_iter().collect::<Vec<_>>(); - source_file_edits.insert(id, indels); - } - - let mut file_system_edits = HashMap::new(); - for a in source_change.file_system_edits { - let id = match &a { - FileSystemEdit::CreateFile { dst, initial_contents } => unreachable!(), - FileSystemEdit::MoveFile { src, dst } => src, - FileSystemEdit::MoveDir { src, src_id, dst } => src_id, - } - .clone(); - file_system_edits.insert(id, a); - } + let source_file_edits = source_change + .source_file_edits + .into_iter() + .map(|(a, (b, _))| (a, b.into_iter().collect::<Vec<_>>())) + .collect::<HashMap<_, _>>(); + + let file_system_edits = source_change + .file_system_edits + .into_iter() + .map(|a| { + let id = match &a { + FileSystemEdit::CreateFile { .. } => unreachable!(), + FileSystemEdit::MoveFile { src, .. } => src, + FileSystemEdit::MoveDir { src_id, .. } => src_id, + }; + (id.clone(), a) + }) + .collect::<HashMap<_, _>>(); let b = format!( "source_file_edits: {:#?}\nfile_system_edits: {:#?}", |