I have been working on rsfs for a few months and it’s at the point that I need community input.
This crate provides generic filesystem traits that mirror all functions in
std::fs and it currently has disk and in-memory implementations.
The disk implementation is cross platform as it simply wraps
std::fs. The in-memory implementation is Unix specific as I don’t know Windows filesystems. However, if you only need an in-memory filesystem, you can opt in to using the Unix in-memory implementation on all platforms (i.e.,
rsfs::mem is platform specific,
rsfs::mem::unix is cross platform with Unix semantics).
I need help designing an API that allows for error injection. I’ve gone through two iterations on my own and I was unsatisfied with both. The old API is still visible on docs.rs (version 0.1.0). I didn’t release the new one, which is visible on github, because it was not turning out.
I’ve gone ahead and released the crate at this point with relatively complete documentation and testing without an error-injection module, but I’d really appreciate help designing a shim around
rsfs::mem that allows for error injection. My entire purpose for starting this crate was to aid unit testing because I have a different project I want to do that requires some tricky interaction with disk.
Regardless of the missing error injection module, I think this crate already has value and I’d love to get feedback on it!