From b5e64abba1333dfb891f9d4278334c0f14c0405e Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Tue, 17 Jan 2017 14:29:33 +0100 Subject: [PATCH 1/2] cleanup some deprecation warnings --- serde/src/error.rs | 24 +----------------------- serde/src/lib.rs | 2 +- serde/src/ser/impls.rs | 24 ++++++++++++++++++++---- 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/serde/src/error.rs b/serde/src/error.rs index 7e5fef72..f6b704c7 100644 --- a/serde/src/error.rs +++ b/serde/src/error.rs @@ -2,10 +2,8 @@ use core::any::TypeId; use core::fmt::{Debug, Display}; - /// A stand-in for `std::error::Error`, which requires no allocation. -#[cfg(feature = "unstable")] -pub trait Error: Debug + Display + ::core::marker::Reflect { +pub trait Error: Debug + Display { /// A short description of the error. /// /// The description should not contain newlines or sentence-ending @@ -22,23 +20,3 @@ pub trait Error: Debug + Display + ::core::marker::Reflect { TypeId::of::() } } - -/// A stand-in for `std::error::Error`, which requires no allocation. -#[cfg(not(feature = "unstable"))] -pub trait Error: Debug + Display { - /// A short description of the error. - /// - /// The description should not contain newlines or sentence-ending - /// punctuation, to facilitate embedding in larger user-facing - /// strings. - fn description(&self) -> &str; - - /// The lower-level cause of this error, if any. - fn cause(&self) -> Option<&Error> { None } - - /// Stubbed! Returns type_id of `()` - #[doc(hidden)] - fn type_id(&self) -> TypeId where Self: 'static { - TypeId::of::<()>() - } -} diff --git a/serde/src/lib.rs b/serde/src/lib.rs index 522cf094..2046872b 100644 --- a/serde/src/lib.rs +++ b/serde/src/lib.rs @@ -11,7 +11,7 @@ #![doc(html_root_url="https://docs.serde.rs")] #![cfg_attr(not(feature = "std"), no_std)] -#![cfg_attr(feature = "unstable", feature(reflect_marker, unicode, nonzero, plugin, step_trait, zero_one))] +#![cfg_attr(feature = "unstable", feature(reflect_marker, unicode, nonzero, plugin, step_trait, zero_one, inclusive_range))] #![cfg_attr(feature = "alloc", feature(alloc))] #![cfg_attr(feature = "collections", feature(collections, enumset))] #![cfg_attr(feature = "clippy", plugin(clippy))] diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 1d9205ab..f09b2871 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -324,15 +324,31 @@ impl Serialize for VecDeque #[cfg(feature = "unstable")] impl Serialize for ops::Range - where A: Serialize + Clone + iter::Step + num::One, - for<'a> &'a A: ops::Add<&'a A, Output = A>, + where ops::Range: ExactSizeIterator + iter::Iterator + Clone, + A: Serialize, { #[inline] fn serialize(&self, serializer: S) -> Result where S: Serializer, { - let len = iter::Step::steps_between(&self.start, &self.end, &A::one()); - let mut seq = try!(serializer.serialize_seq(len)); + let mut seq = try!(serializer.serialize_seq(Some(self.len()))); + for e in self.clone() { + try!(seq.serialize_element(e)); + } + seq.end() + } +} + +#[cfg(feature = "unstable")] +impl Serialize for ops::RangeInclusive + where ops::RangeInclusive: ExactSizeIterator + iter::Iterator + Clone, + A: Serialize, +{ + #[inline] + fn serialize(&self, serializer: S) -> Result + where S: Serializer, + { + let mut seq = try!(serializer.serialize_seq(Some(self.len()))); for e in self.clone() { try!(seq.serialize_element(e)); } From 13794c1b485005310a61fe2e403146b533e41fd4 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 17 Jan 2017 09:19:39 -0800 Subject: [PATCH 2/2] Stop testing on rust 1.12.0 --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9ef108a7..729796b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ sudo: false language: rust rust: -- 1.12.0 - 1.13.0 - stable - beta