Closed passcod closed 8 years ago
My intention actually is to get this merged back into std::fs
---I'm just prototyping out of tree for now. I sketched out a rough plan here: https://github.com/rust-lang/rust/issues/27707#issuecomment-140936777 (This basically implies completely scratching the current implementation and coming up with a new API.)
I'm currently doing a survey of other recursive directory walkers. I haven't written anything up on it, but so far, I've been most impressed by Java's implementation in nio
(but nftw
in glibc is a close second).
Fair enough! Walker will deprecate when this gets into the tree, then :)
OK, I'm done my initial design work I think. It did end up becoming quite different than the existing fs::walk_dir
, however, the implementation was quite a bit more complex than I imagined. I'm not quite sure if it's ready for std
yet, which means it will probably bake in crates.io first: https://crates.io/crates/walkdir
I'm the author / publisher of the Walker crate. Its signature is the same as the recursive directory walker that was in the pre-1.0 stdlib. A brief search of the crates index suggests it is currently the only such library usable in stable.
Unless you envision walkdir as a very different library, how about we join these two up, and provide a seamless upgrade for all who are already using Walker into a better algorithm, more efficient implementation, etc?