3 unstable releases
0.2.1 | Sep 9, 2020 |
---|---|
0.2.0 | Sep 4, 2020 |
0.1.0 | Sep 1, 2020 |
#1333 in Filesystem
29KB
393 lines
vfs-zip: Virtual FileSystem abstractions for ZIP files
Currently this just bridges vfs and zip. Alternate VFS abstractions may be added in the future. Caveats:
- vfs 0.4 lacks async interfaces, making it useless for browser targets.
- zip isn't amenable to re-entrant access. This leads to Mutex spam, and forces open_file to copy/read the whole file up front.
Features
Feature | Description |
---|---|
default | |
vfs04 | vfs = "0.4.x" interop |
zip-deflate | "zip/deflate" (de)compression support |
zip-bzip2 | "zip/bzip2" (de)compression support |
(opt-in) | |
zip-time | "zip/time" write timestamps when creating zip archives |
Unsafe Code
Crate uses #![forbid(unsafe_code)]
.
However, indirect dependencies do contain some unsafe
- including, but perhaps not limited to:
crate | version |
---|---|
bzip2 | 0.3.3 |
crc32fast | 1.2.0 |
flat2 | 1.0.14 |
syn | 1.0.39 |
time | 0.1.44 |
winapi | 0.3.9 |
MSRV (Minimum Supported Rust Version)
Currently 1.34.0...ish.
- zip 0.5.6 has a MSRV of 1.34.0.
However, zip's MSRV policy allows 0.5.7 to bump this, and
vfs-zip
does not pin zip to this version. - vfs 0.4.0 has a MSRV of 1.32.0. However, it has no clear policy for when MSRV can be bumped.
- Not all indirect dependencies have MSRV policies. For example, I've already pinned flate2 to "<1.0.16" since "1.0.16" broke 1.34.0 with "extern crate alloc;"
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~1.4–2.5MB
~46K SLoC