Fix: prefer the usage of for loops over fold

This commit is contained in:
Basti Ortiz 2021-08-10 22:40:04 +08:00
parent 0e480a6e9c
commit 27605b402e
No known key found for this signature in database
GPG key ID: 1402D5CB17F48E1B

View file

@ -161,16 +161,15 @@ impl Directories {
/// - This path is longer than any element in `self.exclude` that is a prefix
/// of `path`. In case of equality, exclusion wins.
fn includes_path(&self, path: &AbsPath) -> bool {
let include = self.include.iter().fold(None::<&AbsPathBuf>, |include, incl| {
if !path.starts_with(incl) {
return include;
let mut include = None::<&AbsPathBuf>;
for incl in &self.include {
if path.starts_with(incl) {
include = Some(match include {
Some(prev) if prev.starts_with(incl) => prev,
_ => incl,
});
}
Some(match include {
Some(prev) if prev.starts_with(incl) => prev,
_ => incl,
})
});
}
let include = match include {
Some(it) => it,