diff --git a/serde/Cargo.toml b/serde/Cargo.toml index 5fc7a37bd..a04ee8e57 100644 --- a/serde/Cargo.toml +++ b/serde/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde" -version = "1.0.117" # remember to update html_root_url and serde_derive dependency +version = "1.0.118" # remember to update html_root_url and serde_derive dependency authors = ["Erick Tryzelaar ", "David Tolnay "] license = "MIT OR Apache-2.0" description = "A generic serialization/deserialization framework" @@ -14,7 +14,7 @@ include = ["build.rs", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APAC build = "build.rs" [dependencies] -serde_derive = { version = "=1.0.117", optional = true, path = "../serde_derive" } +serde_derive = { version = "=1.0.118", optional = true, path = "../serde_derive" } [dev-dependencies] serde_derive = { version = "1.0", path = "../serde_derive" } diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index ae4f9dc80..d9af210e4 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -1871,7 +1871,7 @@ impl<'de> Deserialize<'de> for Duration { enum Field { Secs, Nanos, - }; + } impl<'de> Deserialize<'de> for Field { fn deserialize(deserializer: D) -> Result @@ -1996,7 +1996,7 @@ impl<'de> Deserialize<'de> for SystemTime { enum Field { Secs, Nanos, - }; + } impl<'de> Deserialize<'de> for Field { fn deserialize(deserializer: D) -> Result @@ -2334,10 +2334,7 @@ where 0 => Ok(Field::Unbounded), 1 => Ok(Field::Included), 2 => Ok(Field::Excluded), - _ => Err(Error::invalid_value( - Unexpected::Unsigned(value), - &self, - )), + _ => Err(Error::invalid_value(Unexpected::Unsigned(value), &self)), } } @@ -2499,10 +2496,7 @@ where match value { 0 => Ok(Field::Ok), 1 => Ok(Field::Err), - _ => Err(Error::invalid_value( - Unexpected::Unsigned(value), - &self, - )), + _ => Err(Error::invalid_value(Unexpected::Unsigned(value), &self)), } } @@ -2570,7 +2564,6 @@ where //////////////////////////////////////////////////////////////////////////////// -#[cfg(feature = "std")] impl<'de, T> Deserialize<'de> for Wrapping where T: Deserialize<'de>, diff --git a/serde/src/lib.rs b/serde/src/lib.rs index 0acf0583a..12154da25 100644 --- a/serde/src/lib.rs +++ b/serde/src/lib.rs @@ -82,7 +82,7 @@ //////////////////////////////////////////////////////////////////////////////// // Serde types in rustdoc of other crates get linked to here. -#![doc(html_root_url = "https://docs.rs/serde/1.0.117")] +#![doc(html_root_url = "https://docs.rs/serde/1.0.118")] // Support using Serde without the standard library! #![cfg_attr(not(feature = "std"), no_std)] // Unstable functionality only if the user asks for it. For tracking and @@ -119,6 +119,7 @@ // correctly used enum_glob_use, map_err_ignore, + result_unit_err, wildcard_imports, // not practical needless_pass_by_value, @@ -165,6 +166,7 @@ mod lib { pub use self::core::default::{self, Default}; pub use self::core::fmt::{self, Debug, Display}; pub use self::core::marker::{self, PhantomData}; + pub use self::core::num::Wrapping; pub use self::core::ops::Range; pub use self::core::option::{self, Option}; pub use self::core::result::{self, Result}; @@ -216,8 +218,6 @@ mod lib { #[cfg(feature = "std")] pub use std::io::Write; #[cfg(feature = "std")] - pub use std::num::Wrapping; - #[cfg(feature = "std")] pub use std::path::{Path, PathBuf}; #[cfg(feature = "std")] pub use std::sync::{Mutex, RwLock}; diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 40e48ba9d..431a478cc 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -824,7 +824,6 @@ impl Serialize for OsString { //////////////////////////////////////////////////////////////////////////////// -#[cfg(feature = "std")] impl Serialize for Wrapping where T: Serialize, diff --git a/serde_derive/Cargo.toml b/serde_derive/Cargo.toml index 4dfdd92b1..ed08716c2 100644 --- a/serde_derive/Cargo.toml +++ b/serde_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_derive" -version = "1.0.117" # remember to update html_root_url +version = "1.0.118" # remember to update html_root_url authors = ["Erick Tryzelaar ", "David Tolnay "] license = "MIT OR Apache-2.0" description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]" diff --git a/serde_derive/src/de.rs b/serde_derive/src/de.rs index 1f5733a6d..55ab808bc 100644 --- a/serde_derive/src/de.rs +++ b/serde_derive/src/de.rs @@ -12,6 +12,7 @@ use internals::{attr, ungroup, Ctxt, Derive}; use pretend; use std::collections::BTreeSet; +use std::ptr; pub fn expand_derive_deserialize(input: &syn::DeriveInput) -> Result> { let ctxt = Ctxt::new(); @@ -359,7 +360,7 @@ fn deserialize_transparent(cont: &Container, params: &Parameters) -> Fragment { let assign = fields.iter().map(|field| { let member = &field.member; - if field as *const Field == transparent_field as *const Field { + if ptr::eq(field, transparent_field) { quote!(#member: __transparent) } else { let value = match field.attrs.default() { diff --git a/serde_derive/src/lib.rs b/serde_derive/src/lib.rs index 1711340ba..266bc9ded 100644 --- a/serde_derive/src/lib.rs +++ b/serde_derive/src/lib.rs @@ -13,7 +13,7 @@ //! //! [https://serde.rs/derive.html]: https://serde.rs/derive.html -#![doc(html_root_url = "https://docs.rs/serde_derive/1.0.117")] +#![doc(html_root_url = "https://docs.rs/serde_derive/1.0.118")] #![allow(unknown_lints, bare_trait_objects)] #![deny(clippy::all, clippy::pedantic)] // Ignored clippy lints diff --git a/serde_derive_internals/lib.rs b/serde_derive_internals/lib.rs index ce96383b8..5bc767569 100644 --- a/serde_derive_internals/lib.rs +++ b/serde_derive_internals/lib.rs @@ -6,6 +6,7 @@ allow( cognitive_complexity, redundant_field_names, + result_unit_err, trivially_copy_pass_by_ref, wildcard_in_or_patterns, // clippy bug: https://github.com/rust-lang/rust-clippy/issues/5704 diff --git a/serde_test/Cargo.toml b/serde_test/Cargo.toml index 8fed31904..84c2fb889 100644 --- a/serde_test/Cargo.toml +++ b/serde_test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_test" -version = "1.0.117" # remember to update html_root_url +version = "1.0.118" # remember to update html_root_url authors = ["Erick Tryzelaar ", "David Tolnay "] license = "MIT OR Apache-2.0" description = "Token De/Serializer for testing De/Serialize implementations" diff --git a/serde_test/src/lib.rs b/serde_test/src/lib.rs index cca0a4fa1..3a3efe352 100644 --- a/serde_test/src/lib.rs +++ b/serde_test/src/lib.rs @@ -144,7 +144,7 @@ //! # } //! ``` -#![doc(html_root_url = "https://docs.rs/serde_test/1.0.117")] +#![doc(html_root_url = "https://docs.rs/serde_test/1.0.118")] #![cfg_attr(feature = "cargo-clippy", allow(renamed_and_removed_lints))] #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] // Ignored clippy lints diff --git a/test_suite/Cargo.toml b/test_suite/Cargo.toml index b0ddbb8af..53effd4eb 100644 --- a/test_suite/Cargo.toml +++ b/test_suite/Cargo.toml @@ -23,4 +23,4 @@ rustversion = "1.0" serde = { path = "../serde", features = ["rc", "derive"] } serde_derive = { path = "../serde_derive", features = ["deserialize_in_place"] } serde_test = { path = "../serde_test" } -trybuild = "1.0" +trybuild = { version = "1.0.19", features = ["diff"] } diff --git a/test_suite/tests/ui/remote/wrong_de.stderr b/test_suite/tests/ui/remote/wrong_de.stderr index 370a41ef1..937667481 100644 --- a/test_suite/tests/ui/remote/wrong_de.stderr +++ b/test_suite/tests/ui/remote/wrong_de.stderr @@ -5,6 +5,6 @@ error[E0308]: mismatched types | ^^^^^^^^^^^ | | | expected `u16`, found `u8` - | help: you can convert an `u8` to `u16`: `Deserialize.into()` + | help: you can convert a `u8` to a `u16`: `Deserialize.into()` | = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)