| 61 | use rustix::fs::RawDir; |
| 62 | |
| 63 | fn read_raw_entries<Fd: AsFd>(dir: &mut RawDir<'_, Fd>) -> HashSet<String> { |
| 64 | let mut out = HashSet::new(); |
| 65 | while let Some(entry) = dir.next() { |
| 66 | let entry = entry.expect("non-error entry"); |
| 67 | let name = entry |
| 68 | .file_name() |
| 69 | .to_str() |
| 70 | .expect("utf8 filename") |
| 71 | .to_owned(); |
| 72 | if name != "." && name != ".." { |
| 73 | out.insert(name); |
| 74 | } |
| 75 | } |
| 76 | out |
| 77 | } |
| 78 | |
| 79 | let tmpdir = tempfile::tempdir().expect("construct tempdir"); |
| 80 | let mut dirfd = File::open(tmpdir.path()).expect("open tempdir as file"); |