Parcourir la source

Fix bug where errors' tree parts ended early

Have to collect the results into a Vec in order to make sure we only do the ending part for the last one.
Ben S il y a 10 ans
Parent
commit
2741c19e93
1 fichiers modifiés avec 4 ajouts et 2 suppressions
  1. 4 2
      src/output/details.rs

+ 4 - 2
src/output/details.rs

@@ -105,10 +105,12 @@ impl Details {
                     Some(Ok(ref dir)) => {
                         let mut files = Vec::new();
 
-                        for file_to_add in dir.files(true) {
+                        let files_to_add = dir.files(true).collect::<Vec<_>>();
+                        let child_count = files_to_add.len();
+                        for (index, file_to_add) in files_to_add.into_iter().enumerate() {
                             match file_to_add {
                                 Ok(f)          => files.push(f),
-                                Err((path, e)) => table.add_error(&e, depth + 1, false, Some(&*path)),
+                                Err((path, e)) => table.add_error(&e, depth + 1, index == child_count - 1 && files.is_empty(), Some(&*path)),
                             }
                         }