mirror of
https://github.com/rmcrackan/Libation.git
synced 2026-09-12 21:57:19 -04:00
SaferEnumerateFiles returned a lazy sequence, so an I/O error was raised where the sequence was walked rather than where it was created - past the try/catch callers had wrapped around it. IgnoreInaccessible did not help either: it only forgives permissions, not a volume that has stopped answering. Walk the enumerator defensively instead, keeping what was read and reporting the reason, and let a caller ask whether a directory can be read at all. See issue #1984. Co-authored-by: rmcrackan <rmcrackan@gmail.com>