diff --git a/Cargo.toml b/Cargo.toml index dff93da4..77a958de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ keywords = ["zip", "archive"] description = """ Library to support the reading and writing of zip files. """ +edition = "2018" [dependencies] flate2 = { version = "1.0", default-features = false, optional = true } diff --git a/benches/read_entry.rs b/benches/read_entry.rs index 104e97c1..7b345240 100644 --- a/benches/read_entry.rs +++ b/benches/read_entry.rs @@ -1,7 +1,4 @@ -#[macro_use] -extern crate bencher; -extern crate rand; -extern crate zip; +use bencher::{benchmark_group, benchmark_main}; use std::io::{Cursor, Read, Write}; diff --git a/examples/extract.rs b/examples/extract.rs index 3d3a0939..1ec429d3 100644 --- a/examples/extract.rs +++ b/examples/extract.rs @@ -1,5 +1,3 @@ -extern crate zip; - use std::io; use std::fs; diff --git a/examples/extract_lorem.rs b/examples/extract_lorem.rs index eb49bbe3..207fd530 100644 --- a/examples/extract_lorem.rs +++ b/examples/extract_lorem.rs @@ -1,7 +1,5 @@ use std::io::prelude::*; -extern crate zip; - fn main() { std::process::exit(real_main()); diff --git a/examples/file_info.rs b/examples/file_info.rs index 63f7d87e..af7abdd4 100644 --- a/examples/file_info.rs +++ b/examples/file_info.rs @@ -1,5 +1,3 @@ -extern crate zip; - use std::fs; use std::io::BufReader; diff --git a/examples/stdin_info.rs b/examples/stdin_info.rs index 910ba8e8..8d3f7c43 100644 --- a/examples/stdin_info.rs +++ b/examples/stdin_info.rs @@ -1,5 +1,3 @@ -extern crate zip; - use std::io::{self, Read}; fn main() { diff --git a/examples/write_dir.rs b/examples/write_dir.rs index fb957742..6b2bac0a 100644 --- a/examples/write_dir.rs +++ b/examples/write_dir.rs @@ -1,5 +1,3 @@ -extern crate zip; -extern crate walkdir; use std::io::prelude::*; use std::io::{Write, Seek}; diff --git a/examples/write_sample.rs b/examples/write_sample.rs index 6ff12f0b..ab0ef1a2 100644 --- a/examples/write_sample.rs +++ b/examples/write_sample.rs @@ -1,8 +1,6 @@ use std::io::prelude::*; use zip::write::FileOptions; -extern crate zip; - fn main() { std::process::exit(real_main()); diff --git a/src/compression.rs b/src/compression.rs index 9585ef3b..3ec9dbf3 100644 --- a/src/compression.rs +++ b/src/compression.rs @@ -45,7 +45,7 @@ impl CompressionMethod { } impl fmt::Display for CompressionMethod { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { // Just duplicate what the Debug format looks like, i.e, the enum key: write!(f, "{:?}", self) } diff --git a/src/lib.rs b/src/lib.rs index 3de71965..4685e18a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,15 +2,6 @@ #![warn(missing_docs)] -#[cfg(feature = "bzip2")] -extern crate bzip2; -extern crate crc32fast; -#[cfg(feature = "deflate")] -extern crate flate2; -extern crate podio; -#[cfg(feature = "time")] -extern crate time; - pub use crate::read::ZipArchive; pub use crate::write::ZipWriter; pub use crate::compression::CompressionMethod; diff --git a/src/read.rs b/src/read.rs index a55e2eb6..9b4bad43 100644 --- a/src/read.rs +++ b/src/read.rs @@ -13,8 +13,6 @@ use podio::{ReadPodExt, LittleEndian}; use crate::types::{ZipFileData, System, DateTime}; use crate::cp437::FromCp437; -#[cfg(feature = "deflate")] -use flate2; #[cfg(feature = "deflate")] use flate2::read::DeflateDecoder; @@ -414,7 +412,7 @@ fn parse_extra_field(file: &mut ZipFileData, data: &[u8]) -> ZipResult<()> Ok(()) } -fn get_reader<'a>(reader: &'a mut ZipFileReader) -> &'a mut dyn Read { +fn get_reader<'a>(reader: &'a mut ZipFileReader<'_>) -> &'a mut dyn Read { match *reader { ZipFileReader::NoReader => panic!("ZipFileReader was in an invalid state"), ZipFileReader::Stored(ref mut r) => r as &mut dyn Read, @@ -563,7 +561,7 @@ impl<'a> Drop for ZipFile<'a> { /// * `comment`: set to an empty string /// * `data_start`: set to 0 /// * `external_attributes`: `unix_mode()`: will return None -pub fn read_zipfile_from_stream<'a, R: io::Read>(reader: &'a mut R) -> ZipResult> { +pub fn read_zipfile_from_stream<'a, R: io::Read>(reader: &'a mut R) -> ZipResult>> { let signature = reader.read_u32::()?; match signature { diff --git a/src/result.rs b/src/result.rs index a7e5d4b0..c826d1d4 100644 --- a/src/result.rs +++ b/src/result.rs @@ -27,7 +27,7 @@ pub enum ZipError impl ZipError { - fn detail(&self) -> ::std::borrow::Cow + fn detail(&self) -> ::std::borrow::Cow<'_, str> { use std::error::Error; @@ -64,7 +64,7 @@ impl convert::From for io::Error impl fmt::Display for ZipError { - fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { fmt.write_str(&*self.detail()) } diff --git a/src/write.rs b/src/write.rs index c08472e0..da3a4aae 100644 --- a/src/write.rs +++ b/src/write.rs @@ -9,17 +9,11 @@ use std::default::Default; use std::io; use std::io::prelude::*; use std::mem; -#[cfg(feature = "time")] -use time; use podio::{WritePodExt, LittleEndian}; -#[cfg(feature = "deflate")] -use flate2; #[cfg(feature = "deflate")] use flate2::write::DeflateEncoder; -#[cfg(feature = "bzip2")] -use bzip2; #[cfg(feature = "bzip2")] use bzip2::write::BzEncoder; diff --git a/tests/end_to_end.rs b/tests/end_to_end.rs index cd69ce3c..6af89ced 100644 --- a/tests/end_to_end.rs +++ b/tests/end_to_end.rs @@ -1,5 +1,3 @@ -extern crate zip; - use std::io::prelude::*; use zip::write::FileOptions; use std::io::Cursor; diff --git a/tests/invalid_date.rs b/tests/invalid_date.rs index e5c24200..b245d2c0 100644 --- a/tests/invalid_date.rs +++ b/tests/invalid_date.rs @@ -1,5 +1,3 @@ -extern crate zip; - use zip::read::ZipArchive; use std::io::Cursor; diff --git a/tests/zip64_large.rs b/tests/zip64_large.rs index 6aeeedfb..f537edc1 100644 --- a/tests/zip64_large.rs +++ b/tests/zip64_large.rs @@ -53,9 +53,6 @@ // 22c400260 00 00 50 4b 05 06 00 00 00 00 03 00 03 00 27 01 |..PK..........'.| // 22c400270 00 00 ff ff ff ff 00 00 |........| // 22c400278 - -extern crate zip; - use std::io::{self, Seek, SeekFrom, Read}; const BLOCK1_LENGTH : u64 = 0x60;