diff --git a/Cargo.toml b/Cargo.toml index b20130b0f49c240350942a5c13e79f5d7b70049f..e375eb08c4f681b7127323817deacb484f8530a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,6 +22,7 @@ exclude = [ "test/**/*" ] categories = ["network-programming", "data-structures"] +edition = "2018" publish = false diff --git a/README.md b/README.md index 09ebfe9a5c3dc0987c4f784b72ce781af2ae8ecd..1dd8d5d9de35ac194bb22b070ca6b443cf7f3521 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,6 @@ bytes = "0.4.12" Next, add this to your crate: ```rust -extern crate bytes; - use bytes::{Bytes, BytesMut, Buf, BufMut}; ``` diff --git a/benches/buf.rs b/benches/buf.rs index 99e559bb37ccca4861646659061e7a300c4aca82..0c9a1d955767ff8808a32c07e5f70014e494285a 100644 --- a/benches/buf.rs +++ b/benches/buf.rs @@ -1,6 +1,6 @@ #![feature(test)] +#![deny(warnings, rust_2018_idioms)] -extern crate bytes; extern crate test; use test::Bencher; @@ -109,7 +109,7 @@ macro_rules! bench { b.iter(|| { for i in 0..8 { bufs[i].reset(); - let buf: &mut Buf = &mut bufs[i]; // type erasure + let buf: &mut dyn Buf = &mut bufs[i]; // type erasure test::black_box(buf.$method($($arg,)*)); } }) @@ -123,7 +123,7 @@ macro_rules! bench { b.iter(|| { for i in 0..8 { let mut buf = &arr[i..]; - let buf = &mut buf as &mut Buf; // type erasure + let buf = &mut buf as &mut dyn Buf; // type erasure test::black_box(buf.$method($($arg,)*)); } }) @@ -136,7 +136,7 @@ macro_rules! bench { b.iter(|| { for _ in 0..8 { let mut buf = Some(data); - let buf = &mut buf as &mut Buf; // type erasure + let buf = &mut buf as &mut dyn Buf; // type erasure test::black_box(buf.get_u8()); } }) diff --git a/benches/bytes.rs b/benches/bytes.rs index 7a338746b04c30a616920086c7e53c3e2c6b841c..5885a1bfa23ac59948145f4ffa2fe2c3f349bd36 100644 --- a/benches/bytes.rs +++ b/benches/bytes.rs @@ -1,6 +1,6 @@ #![feature(test)] +#![deny(warnings, rust_2018_idioms)] -extern crate bytes; extern crate test; use test::Bencher; @@ -201,7 +201,7 @@ fn slice_empty(b: &mut Bencher) { b.iter(|| { let b = Bytes::from(vec![17; 1024]).clone(); for i in 0..1000 { - test::black_box(b.slice(i % 100, i % 100)); + test::black_box(b.slice(i % 100..i % 100)); } }) } @@ -212,7 +212,7 @@ fn slice_short_from_arc(b: &mut Bencher) { // `clone` is to convert to ARC let b = Bytes::from(vec![17; 1024]).clone(); for i in 0..1000 { - test::black_box(b.slice(1, 2 + i % 10)); + test::black_box(b.slice(1..2 + i % 10)); } }) } @@ -231,7 +231,7 @@ fn slice_avg_le_inline_from_arc(b: &mut Bencher) { for i in 0..1000 { // [1, INLINE_CAP] let len = 1 + i % (INLINE_CAP - 1); - test::black_box(b.slice(i % 10, i % 10 + len)); + test::black_box(b.slice(i % 10..i % 10 + len)); } }) } @@ -244,7 +244,7 @@ fn slice_large_le_inline_from_arc(b: &mut Bencher) { for i in 0..1000 { // [INLINE_CAP - 10, INLINE_CAP] let len = INLINE_CAP - 9 + i % 10; - test::black_box(b.slice(i % 10, i % 10 + len)); + test::black_box(b.slice(i % 10..i % 10 + len)); } }) } diff --git a/src/buf/buf.rs b/src/buf/buf.rs index bd468d9dda42296d1b496ed0b79027d01794de6f..26ab66160ebffd25755c5b9b871246fcee5cdf41 100644 --- a/src/buf/buf.rs +++ b/src/buf/buf.rs @@ -916,7 +916,7 @@ pub trait Buf { } } -impl<'a, T: Buf + ?Sized> Buf for &'a mut T { +impl<T: Buf + ?Sized> Buf for &mut T { fn remaining(&self) -> usize { (**self).remaining() } @@ -952,7 +952,7 @@ impl<T: Buf + ?Sized> Buf for Box<T> { } } -impl<'a> Buf for &'a [u8] { +impl Buf for &[u8] { #[inline] fn remaining(&self) -> usize { self.len() diff --git a/src/buf/buf_mut.rs b/src/buf/buf_mut.rs index e7935d9f1b32985d1ec07283007a45820603c6c9..235e8f0d1f536f2b2386a9fbe96fe6b1d5f478e4 100644 --- a/src/buf/buf_mut.rs +++ b/src/buf/buf_mut.rs @@ -979,7 +979,7 @@ pub trait BufMut { } } -impl<'a, T: BufMut + ?Sized> BufMut for &'a mut T { +impl<T: BufMut + ?Sized> BufMut for &mut T { fn remaining_mut(&self) -> usize { (**self).remaining_mut() } @@ -1015,7 +1015,7 @@ impl<T: BufMut + ?Sized> BufMut for Box<T> { } } -impl<'a> BufMut for &'a mut [u8] { +impl BufMut for &mut [u8] { #[inline] fn remaining_mut(&self) -> usize { self.len() @@ -1029,7 +1029,7 @@ impl<'a> BufMut for &'a mut [u8] { #[inline] unsafe fn advance_mut(&mut self, cnt: usize) { // Lifetime dance taken from `impl Write for &mut [u8]`. - let (_, b) = ::std::mem::replace(self, &mut []).split_at_mut(cnt); + let (_, b) = std::mem::replace(self, &mut []).split_at_mut(cnt); *self = b; } } diff --git a/src/buf/chain.rs b/src/buf/chain.rs index b6f1c767029e60454b3d2d2a41a950b77b8ee0fb..936a086b7555a9b3a924e967502c787702285e36 100644 --- a/src/buf/chain.rs +++ b/src/buf/chain.rs @@ -1,5 +1,5 @@ -use {Buf, BufMut}; -use buf::IntoIter; +use crate::{Buf, BufMut}; +use crate::buf::IntoIter; use std::io::{IoSlice, IoSliceMut}; /// A `Chain` sequences two buffers. diff --git a/src/buf/from_buf.rs b/src/buf/from_buf.rs index 55f5cef31b9043fd7cea86a32e11c57396b9b47d..db91a95d3111006cb7f584597a5f3b909f3d27d6 100644 --- a/src/buf/from_buf.rs +++ b/src/buf/from_buf.rs @@ -1,4 +1,4 @@ -use {Buf, BufMut, IntoBuf, Bytes, BytesMut}; +use crate::{Buf, BufMut, IntoBuf, Bytes, BytesMut}; /// Conversion from a [`Buf`] /// diff --git a/src/buf/into_buf.rs b/src/buf/into_buf.rs index ea1d36a704d6a7c74332d2c8752cdf573f99f3ab..559021ad3abd3bfba887789010eec8981270f787 100644 --- a/src/buf/into_buf.rs +++ b/src/buf/into_buf.rs @@ -1,5 +1,5 @@ use super::{Buf}; -use ::BytesMut; +use crate::BytesMut; /// Conversion into a `Buf` /// diff --git a/src/buf/iter.rs b/src/buf/iter.rs index a6fe729de309eb1189d5186c518d565a580fa73f..a1bf89b7938562053dac752a94abf5ed95ade1d5 100644 --- a/src/buf/iter.rs +++ b/src/buf/iter.rs @@ -1,4 +1,4 @@ -use Buf; +use crate::Buf; /// Iterator over the bytes contained by the buffer. /// diff --git a/src/buf/reader.rs b/src/buf/reader.rs index 15419c02d1e2d0087249a30406b0559d0ac49abd..361fdf7a7ce3afb7c0c1ababa4b505f6f4eab1de 100644 --- a/src/buf/reader.rs +++ b/src/buf/reader.rs @@ -1,4 +1,4 @@ -use {Buf}; +use crate::{Buf}; use std::{cmp, io}; diff --git a/src/buf/take.rs b/src/buf/take.rs index 9ab652baa8c794f77c85b7e2ab072f9ef86ad492..559640b10d594cd08fe50dec029f4294a7f7afe0 100644 --- a/src/buf/take.rs +++ b/src/buf/take.rs @@ -1,4 +1,4 @@ -use {Buf}; +use crate::Buf; use std::cmp; diff --git a/src/buf/writer.rs b/src/buf/writer.rs index a192fe7d7525c008c7a8210780aaa2b3d5c3ba3b..c9462343c8dffb462f14a0a05222990aa8dc91df 100644 --- a/src/buf/writer.rs +++ b/src/buf/writer.rs @@ -1,4 +1,4 @@ -use BufMut; +use crate::BufMut; use std::{cmp, io}; diff --git a/src/bytes.rs b/src/bytes.rs index 331237182ef55b31c000438898d2076d6da92e3f..9db6362f24fbbc74493a2e0cb516a26aaa98b790 100644 --- a/src/bytes.rs +++ b/src/bytes.rs @@ -1,6 +1,6 @@ -use {Buf, BufMut, IntoBuf}; -use buf::IntoIter; -use debug; +use crate::{Buf, BufMut, IntoBuf}; +use crate::buf::IntoIter; +use crate::debug; use std::{cmp, fmt, mem, hash, slice, ptr, usize}; use std::borrow::{Borrow, BorrowMut}; @@ -852,7 +852,7 @@ impl Bytes { /// assert_eq!(iter.next().map(|b| *b), Some(b'c')); /// assert_eq!(iter.next(), None); /// ``` - pub fn iter<'a>(&'a self) -> ::std::slice::Iter<'a, u8> { + pub fn iter<'a>(&'a self) -> std::slice::Iter<'a, u8> { self.bytes().iter() } } @@ -997,7 +997,7 @@ impl Default for Bytes { } impl fmt::Debug for Bytes { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { fmt::Debug::fmt(&debug::BsDebug(&self.inner.as_ref()), fmt) } } @@ -1026,7 +1026,7 @@ impl IntoIterator for Bytes { impl<'a> IntoIterator for &'a Bytes { type Item = &'a u8; - type IntoIter = ::std::slice::Iter<'a, u8>; + type IntoIter = std::slice::Iter<'a, u8>; fn into_iter(self) -> Self::IntoIter { self.as_ref().into_iter() @@ -1534,7 +1534,7 @@ impl BytesMut { /// assert_eq!(iter.next().map(|b| *b), Some(b'c')); /// assert_eq!(iter.next(), None); /// ``` - pub fn iter<'a>(&'a self) -> ::std::slice::Iter<'a, u8> { + pub fn iter<'a>(&'a self) -> std::slice::Iter<'a, u8> { self.bytes().iter() } } @@ -1725,7 +1725,7 @@ impl Default for BytesMut { } impl fmt::Debug for BytesMut { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { fmt::Debug::fmt(&debug::BsDebug(&self.inner.as_ref()), fmt) } } @@ -1761,7 +1761,7 @@ impl fmt::Write for BytesMut { } #[inline] - fn write_fmt(&mut self, args: fmt::Arguments) -> fmt::Result { + fn write_fmt(&mut self, args: fmt::Arguments<'_>) -> fmt::Result { fmt::write(self, args) } } @@ -1783,7 +1783,7 @@ impl IntoIterator for BytesMut { impl<'a> IntoIterator for &'a BytesMut { type Item = &'a u8; - type IntoIter = ::std::slice::Iter<'a, u8>; + type IntoIter = std::slice::Iter<'a, u8>; fn into_iter(self) -> Self::IntoIter { self.as_ref().into_iter() @@ -2818,25 +2818,25 @@ impl<'a, T: ?Sized> PartialOrd<&'a T> for BytesMut } } -impl<'a> PartialEq<BytesMut> for &'a [u8] { +impl PartialEq<BytesMut> for &[u8] { fn eq(&self, other: &BytesMut) -> bool { *other == *self } } -impl<'a> PartialOrd<BytesMut> for &'a [u8] { +impl PartialOrd<BytesMut> for &[u8] { fn partial_cmp(&self, other: &BytesMut) -> Option<cmp::Ordering> { other.partial_cmp(self) } } -impl<'a> PartialEq<BytesMut> for &'a str { +impl PartialEq<BytesMut> for &str { fn eq(&self, other: &BytesMut) -> bool { *other == *self } } -impl<'a> PartialOrd<BytesMut> for &'a str { +impl PartialOrd<BytesMut> for &str { fn partial_cmp(&self, other: &BytesMut) -> Option<cmp::Ordering> { other.partial_cmp(self) } @@ -2938,25 +2938,25 @@ impl PartialOrd<Bytes> for String { } } -impl<'a> PartialEq<Bytes> for &'a [u8] { +impl PartialEq<Bytes> for &[u8] { fn eq(&self, other: &Bytes) -> bool { *other == *self } } -impl<'a> PartialOrd<Bytes> for &'a [u8] { +impl PartialOrd<Bytes> for &[u8] { fn partial_cmp(&self, other: &Bytes) -> Option<cmp::Ordering> { other.partial_cmp(self) } } -impl<'a> PartialEq<Bytes> for &'a str { +impl PartialEq<Bytes> for &str { fn eq(&self, other: &Bytes) -> bool { *other == *self } } -impl<'a> PartialOrd<Bytes> for &'a str { +impl PartialOrd<Bytes> for &str { fn partial_cmp(&self, other: &Bytes) -> Option<cmp::Ordering> { other.partial_cmp(self) } diff --git a/src/debug.rs b/src/debug.rs index 0677bc3b83589aa9ec3f8a3096880fff90d8a90c..32d88680ca97ab4b7b2563310a993de3740f24e1 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -12,8 +12,8 @@ use std::fmt; /// `BsDebug` is not a part of public API of bytes crate. pub struct BsDebug<'a>(pub &'a [u8]); -impl<'a> fmt::Debug for BsDebug<'a> { - fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> { +impl fmt::Debug for BsDebug<'_> { + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { write!(fmt, "b\"")?; for &c in self.0 { // https://doc.rust-lang.org/reference.html#byte-escapes diff --git a/src/either.rs b/src/either.rs index dba5d52cd9d511a17ec6ad853634548ad7a8058e..954dfff4b404fc88b4525f436fc4031393957442 100644 --- a/src/either.rs +++ b/src/either.rs @@ -1,9 +1,7 @@ -extern crate either; +use crate::{Buf, BufMut}; -use {Buf, BufMut}; - -use self::either::Either; -use self::either::Either::*; +use either::Either; +use either::Either::*; use std::io::{IoSlice, IoSliceMut}; impl<L, R> Buf for Either<L, R> diff --git a/src/lib.rs b/src/lib.rs index 9dd149205c07b60dce5e136d6af9781556583a77..031a24cd0aa166dff2fedc508f545a18a2c7d567 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -68,13 +68,11 @@ //! perform a syscall, which has the potential of failing. Operations on `Buf` //! and `BufMut` are infallible. -#![deny(warnings, missing_docs, missing_debug_implementations)] +#![deny(warnings, missing_docs, missing_debug_implementations, rust_2018_idioms)] #![doc(html_root_url = "https://docs.rs/bytes/0.5.0")] -extern crate byteorder; - pub mod buf; -pub use buf::{ +pub use crate::buf::{ Buf, BufMut, IntoBuf, @@ -82,7 +80,7 @@ pub use buf::{ mod bytes; mod debug; -pub use bytes::{Bytes, BytesMut}; +pub use crate::bytes::{Bytes, BytesMut}; // Optional Serde support #[cfg(feature = "serde")] diff --git a/src/serde.rs b/src/serde.rs index ff9892196acfa25d8aa01e17cc5fe3794ee6e5ef..7ade4d9d4add3779a7ae462f00b26b88a8696603 100644 --- a/src/serde.rs +++ b/src/serde.rs @@ -1,7 +1,5 @@ -extern crate serde; - use std::{cmp, fmt}; -use self::serde::{Serialize, Serializer, Deserialize, Deserializer, de}; +use serde::{Serialize, Serializer, Deserialize, Deserializer, de}; use super::{Bytes, BytesMut}; macro_rules! serde_impl { @@ -20,7 +18,7 @@ macro_rules! serde_impl { impl<'de> de::Visitor<'de> for $visitor_ty { type Value = $ty; - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { formatter.write_str("byte array") } diff --git a/tests/test_buf.rs b/tests/test_buf.rs index da0efe72b5ee7e5331e5851ee67e331276ba2f3d..4d60ab5a30fd36a9ca2f8ebd6eebbec2b09e3e95 100644 --- a/tests/test_buf.rs +++ b/tests/test_buf.rs @@ -1,5 +1,4 @@ -extern crate bytes; -extern crate byteorder; +#![deny(warnings, rust_2018_idioms)] use bytes::Buf; use std::io::IoSlice; diff --git a/tests/test_buf_mut.rs b/tests/test_buf_mut.rs index b0af550328a4d942ec638755ce21ad2f65b7d43c..2c9f1f2c497106f7f833ef550fcafa39502709ea 100644 --- a/tests/test_buf_mut.rs +++ b/tests/test_buf_mut.rs @@ -1,5 +1,4 @@ -extern crate bytes; -extern crate byteorder; +#![deny(warnings, rust_2018_idioms)] use bytes::{BufMut, BytesMut}; use std::usize; diff --git a/tests/test_bytes.rs b/tests/test_bytes.rs index e4ceb3d3abe35d70b6b3df419a6fa01dacb7b41d..70a8205e0090bc7ae5506cdfb7b456f6766f0aa1 100644 --- a/tests/test_bytes.rs +++ b/tests/test_bytes.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use bytes::{Bytes, BytesMut, Buf, BufMut}; diff --git a/tests/test_chain.rs b/tests/test_chain.rs index 582c65716eba2cb3c05e5957a7592b78ea6f6d2b..6708028fb3e456d5f9f4c48b352be0d9e02a9848 100644 --- a/tests/test_chain.rs +++ b/tests/test_chain.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use bytes::{Buf, BufMut, Bytes, BytesMut}; use bytes::buf::Chain; diff --git a/tests/test_debug.rs b/tests/test_debug.rs index 9945a2835bb1a1eeffca155ed0aa4b4da277f883..7528bac87b0282c68db954268244f8522221f586 100644 --- a/tests/test_debug.rs +++ b/tests/test_debug.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use bytes::Bytes; diff --git a/tests/test_from_buf.rs b/tests/test_from_buf.rs index efa043c02e3504cf5de7911cd7efb94ed00d26d0..5f644e1329ddcefb98f78717587e7d7af057ed84 100644 --- a/tests/test_from_buf.rs +++ b/tests/test_from_buf.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use bytes::{Buf, Bytes, BytesMut}; diff --git a/tests/test_iter.rs b/tests/test_iter.rs index 2d2f4951ae8bad49426e134812a2e0b21ab89bfa..13b86cdad4546d5485c986ed7812723a0a7d3263 100644 --- a/tests/test_iter.rs +++ b/tests/test_iter.rs @@ -1,6 +1,6 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] -use bytes::{Bytes}; +use bytes::Bytes; #[test] fn iter_len() { diff --git a/tests/test_reader.rs b/tests/test_reader.rs index a10d70be0c356cd71d52fe033328e64359dfe6a1..89a78497a7d86fa92aaac7c052bef049b4602b7b 100644 --- a/tests/test_reader.rs +++ b/tests/test_reader.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use std::io::{BufRead, Read}; diff --git a/tests/test_serde.rs b/tests/test_serde.rs index ff440242f454689fa920c6f804d585f27025e9e7..18b135692bcdd973b664cd79be13f0818cd9a436 100644 --- a/tests/test_serde.rs +++ b/tests/test_serde.rs @@ -1,7 +1,6 @@ #![cfg(feature = "serde")] +#![deny(warnings, rust_2018_idioms)] -extern crate bytes; -extern crate serde_test; use serde_test::{Token, assert_tokens}; #[test] diff --git a/tests/test_take.rs b/tests/test_take.rs index ebc91dd06bf2cf83ffdbd86c8642a87f731ad7c5..7d043183f7f3b6bbf8f45d280d7751f64e9e8143 100644 --- a/tests/test_take.rs +++ b/tests/test_take.rs @@ -1,4 +1,4 @@ -extern crate bytes; +#![deny(warnings, rust_2018_idioms)] use bytes::Buf;