Fixes: https://github.com/zkat/cacache-rs/issues/34
The async `poll_write()` implementation was creating a tempfile as
a backing for its inner mmap, but it was failing to set the length
on the file to match the incoming data. Compare with the sync
implementation!
This bug was exposed when the `memmap2` crate was swapped in
for `memmap`. The older crate was likely more lax about this.
Wrote a pair of new tests for `cacache::write_hash_sync` and
`cacache::write_hash`. The async test fails without this change, as
does any benchmarks run. Everything passes with it.
BREAKING CHANGE: This commit also bumps the MSRV for cacache to 1.66.1.
Co-authored-by: Florian Albertz <git@albertz.io>
BREAKING CHANGE: This changes the exported error type(s) for cacache, making it way easier to do error handling when something goes kaput.
BREAKING CHANGE: The license terms have changed. Please refer to LICENSE in the root of this repository for details. Future use of this library may require release of source code for any changes applied to it.