Return iterator instead of dir

This commit is contained in:
Jaby 2022-10-07 16:20:08 +02:00 committed by Jaby
parent ec44a83026
commit b77ee8b12d
2 changed files with 3 additions and 3 deletions

View File

@ -27,7 +27,7 @@ fn run_main() -> Result<(), Error> {
match element { match element {
DirectoryIteratorElement::Root(root) => println!("{}", root), DirectoryIteratorElement::Root(root) => println!("{}", root),
DirectoryIteratorElement::Data(data) => println!("{}", data), DirectoryIteratorElement::Data(data) => println!("{}", data),
DirectoryIteratorElement::Directory(dir) => dump_dir(dir.iter()), DirectoryIteratorElement::Directory(dir) => dump_dir(dir),
} }
} }

View File

@ -34,7 +34,7 @@ impl<'a> std::iter::Iterator for DirectoryIterator<'a> {
DirectoryIteratorState::Directory(mut iter) => { DirectoryIteratorState::Directory(mut iter) => {
if let Some(dir) = iter.next() { if let Some(dir) = iter.next() {
self.state = DirectoryIteratorState::Directory(iter); self.state = DirectoryIteratorState::Directory(iter);
return Some(DirectoryIteratorElement::Directory(dir)); return Some(DirectoryIteratorElement::Directory(dir.iter()));
} }
else { else {
@ -58,5 +58,5 @@ enum DirectoryIteratorState<'a> {
pub enum DirectoryIteratorElement<'a> { pub enum DirectoryIteratorElement<'a> {
Root(&'a Directory), Root(&'a Directory),
Data(&'a Data), Data(&'a Data),
Directory(&'a Directory), Directory(DirectoryIterator<'a>),
} }