Rust’s stdlib includes a cross-platform abstraction for CLI arguments (
env::args), but there’s a catch: Unix shells perform glob expansion, but Windows shell doesn’t (so
program file.* instead of selecting files with any extension just passes one arg literally with
"*" in it).
Even though technically the glob expansion is done on a completely different level outside of the program, tools written for Unix rely on that and assume that’s always available. And I assumed that, and my program failed to support globs on Windows.
Can this be improved? Should Rust’s stdlib emulate glob expansion on Windows? (e.g. MinGW does that!)