use std::path::{Path, PathBuf};
use std::time::Instant;
-use flate;
+use flate2::read::ZlibDecoder;
use owning_ref::{ErasedBoxRef, OwningRef};
pub struct CrateMismatch {
// Header is okay -> inflate the actual metadata
let compressed_bytes = &buf[header_len..];
debug!("inflating {} bytes of compressed metadata", compressed_bytes.len());
- match flate::inflate_bytes(compressed_bytes) {
- Ok(inflated) => {
+ let mut inflated = Vec::new();
+ match ZlibDecoder::new(compressed_bytes).read_to_end(&mut inflated) {
+ Ok(_) => {
let buf = unsafe { OwningRef::new_assert_stable_address(inflated) };
buf.map_owner_box().erase_owner()
}