1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use crate::fs::DirEntry; use std::{fmt, io}; /// Iterator over the entries in a directory. /// /// This corresponds to [`std::fs::ReadDir`]. /// /// Note that there is no `from_std` method, as `std::fs::ReadDir` doesn't /// provide a way to construct a `ReadDir` without opening directories by /// ambient paths. pub struct ReadDir { pub(crate) inner: cap_primitives::fs::ReadDir, } impl Iterator for ReadDir { type Item = io::Result<DirEntry>; #[inline] fn next(&mut self) -> Option<Self::Item> { self.inner .next() .map(|inner| inner.map(|inner| DirEntry { inner })) } } impl fmt::Debug for ReadDir { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { self.inner.fmt(f) } }