Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[derive(Debug)]
- struct Verdict {
- path: String,
- keep: bool
- }
- fn match_verdicts<'a>(dir: &Path, verdicts: &'a Vec<Verdict>) -> Option<&'a Verdict> {
- let p = dir.to_str().unwrap();
- verdicts.iter().find(|&v| v.path == p )
- }
- fn process_dirs(dir: &Path, verdicts: &Vec<Verdict>) -> io::Result<()> {
- for entry in fs::read_dir(dir)? {
- let entry = entry?;
- let path = entry.path();
- if path.is_dir() {
- match match_verdicts(&path, &verdicts).map(|x| x.keep ) {
- Some(false) => (),
- Some(true) => process_dirs(&path, &verdicts)?,
- None => println!("{} not part of verdicts; skipping", path.display())
- }
- } else {
- println!("ohai {}", path.display())
- }
- }
- Ok(())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement