mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 22:12:15 +00:00
Reuse allocations between files
This commit is contained in:
parent
1cccf2dd4c
commit
97cffd5295
@ -1,6 +1,6 @@
|
||||
use ignore::DirEntry;
|
||||
|
||||
use std::{fs, path::Path};
|
||||
use std::{fs::File, io::Read, path::Path};
|
||||
|
||||
/// The default directory filter.
|
||||
pub fn filter_dirs(path: &Path) -> bool {
|
||||
@ -48,9 +48,12 @@ pub fn walk(
|
||||
skip: impl Send + Sync + 'static + Fn(&Path) -> bool,
|
||||
f: &mut dyn FnMut(&DirEntry, &str),
|
||||
) {
|
||||
let mut contents = Vec::new();
|
||||
walk_no_read(path, skip, &mut |entry| {
|
||||
let contents = t!(fs::read(entry.path()), entry.path());
|
||||
let contents_str = match String::from_utf8(contents) {
|
||||
contents.clear();
|
||||
let mut file = t!(File::open(entry.path()), entry.path());
|
||||
t!(file.read_to_end(&mut contents), entry.path());
|
||||
let contents_str = match std::str::from_utf8(&contents) {
|
||||
Ok(s) => s,
|
||||
Err(_) => return, // skip this file
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user