From 2847a57a1eb36d5eeeff471dc91ef65e09d08868 Mon Sep 17 00:00:00 2001
From: Nick Mathewson <nickm@torproject.org>
Date: Thu, 14 Apr 2022 07:32:05 -0400
Subject: [PATCH] Fix build with Rust 1.53; we can't use map_while

---
 crates/tor-persist/src/fs/clean.rs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/crates/tor-persist/src/fs/clean.rs b/crates/tor-persist/src/fs/clean.rs
index 27578cee87..a488c40c2d 100644
--- a/crates/tor-persist/src/fs/clean.rs
+++ b/crates/tor-persist/src/fs/clean.rs
@@ -67,7 +67,10 @@ pub(super) fn files_to_delete(statepath: &Path, now: SystemTime) -> Vec<PathBuf>
         .map_err(dir_read_failed) // Result from fs::read_dir
         .into_iter()
         .flatten()
-        .map_while(|result| result.map_err(dir_read_failed).ok()); // Result from dir.next()
+        // TODO: Use map_while once we are on Rust >= 1.57
+        .map(|result| result.map_err(dir_read_failed).ok()) // Result from dir.next()
+        .take_while(|result| result.is_some())
+        .flatten();
 
     for entry in entries {
         let path = entry.path();
-- 
GitLab