Compare commits

...

21 Commits

Author SHA1 Message Date
David Tolnay 4cddcbe194 Release 1.0.70 2018-07-06 20:21:26 -07:00
David Tolnay 54b6798ef6 Merge pull request #1336 from dtolnay/collections
Update path to alloc::collections for nightly-2018-07-07
2018-07-06 20:19:59 -07:00
David Tolnay 229a9d90ba Update path to alloc::collections for nightly-2018-07-07 2018-07-06 20:04:23 -07:00
David Tolnay 3bcd568c86 Release 1.0.69 2018-06-30 23:40:28 -07:00
David Tolnay dc56077aac Local inner macros 2018-06-30 23:38:14 -07:00
David Tolnay 46bd36e17c Link to issue picker 2018-06-30 10:30:14 -07:00
David Tolnay 5dee9118c7 Factor out the getting help links 2018-06-30 10:29:36 -07:00
David Tolnay a916aa9420 Release 1.0.68 2018-06-28 09:31:12 -07:00
David Tolnay d9c63d0784 Merge pull request #1324 from jechase/suppress_2018_warning
Suppress 'extern crate' warning for rust 2018
2018-06-28 09:30:40 -07:00
Josh Chase 41dcb969e8 Shut clippy up 2018-06-28 11:12:27 -04:00
Josh Chase 6dbaea34ba Suppress 'extern crate' warning for rust 2018 2018-06-28 10:51:57 -04:00
David Tolnay ce17301b8b Release 1.0.67 2018-06-27 00:18:03 -07:00
David Tolnay b0e78c6be4 Format with rustfmt 0.8.2 2018-06-27 00:16:06 -07:00
David Tolnay 898f65fa46 Merge pull request #1323 from dtolnay/format-args
Implement Serialize for core::fmt::Arguments
2018-06-27 00:15:55 -07:00
David Tolnay 84e384196d Implement Serialize for core::fmt::Arguments 2018-06-26 23:58:16 -07:00
David Tolnay d827b101d9 Resolve default_trait_access lint 2018-06-26 23:58:02 -07:00
David Tolnay c45ab6b304 Ignore indexing_slicing pedantic lint 2018-06-26 23:56:39 -07:00
David Tolnay cc9d85b293 Work around unused_imports rustdoc bug 2018-06-26 23:54:32 -07:00
David Tolnay 02493d83be Ignore indexing_slicing pedantic lint 2018-06-26 23:39:26 -07:00
David Tolnay a1280c672a Switch no-std panic to #[panic_implementation] 2018-06-04 10:13:29 -07:00
David Tolnay a740f76772 Update no-std panic signature for nightly-2018-06-03 2018-06-03 23:15:16 -07:00
17 changed files with 59 additions and 42 deletions
+7 -6
View File
@@ -79,12 +79,13 @@ fn main() {
## Getting help ## Getting help
Serde developers live in the #serde channel on Serde developers live in the #serde channel on [`irc.mozilla.org`][irc]. The
[`irc.mozilla.org`](https://wiki.mozilla.org/IRC). The #rust channel is also a \#rust channel is also a good resource with generally faster response time but
good resource with generally faster response time but less specific knowledge less specific knowledge about Serde. If IRC is not your thing or you don't get a
about Serde. If IRC is not your thing or you don't get a good response, we are good response, we are happy to respond to [GitHub issues][issues] as well.
happy to respond to [GitHub issues](https://github.com/serde-rs/serde/issues/new)
as well. [irc]: https://wiki.mozilla.org/IRC
[issues]: https://github.com/serde-rs/serde/issues/new/choose
## License ## License
+7 -6
View File
@@ -47,9 +47,10 @@ fn main() {
## Getting help ## Getting help
Serde developers live in the #serde channel on Serde developers live in the #serde channel on [`irc.mozilla.org`][irc]. The
[`irc.mozilla.org`](https://wiki.mozilla.org/IRC). The #rust channel is also a \#rust channel is also a good resource with generally faster response time but
good resource with generally faster response time but less specific knowledge less specific knowledge about Serde. If IRC is not your thing or you don't get a
about Serde. If IRC is not your thing or you don't get a good response, we are good response, we are happy to respond to [GitHub issues][issues] as well.
happy to respond to [GitHub issues](https://github.com/serde-rs/serde/issues/new)
as well. [irc]: https://wiki.mozilla.org/IRC
[issues]: https://github.com/serde-rs/serde/issues/new/choose
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "serde" name = "serde"
version = "1.0.66" # remember to update html_root_url version = "1.0.70" # remember to update html_root_url
authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"] authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
description = "A generic serialization/deserialization framework" description = "A generic serialization/deserialization framework"
+1 -5
View File
@@ -593,11 +593,7 @@ pub trait Deserialize<'de>: Sized {
/// ///
/// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html /// [Understanding deserializer lifetimes]: https://serde.rs/lifetimes.html
pub trait DeserializeOwned: for<'de> Deserialize<'de> {} pub trait DeserializeOwned: for<'de> Deserialize<'de> {}
impl<T> DeserializeOwned for T impl<T> DeserializeOwned for T where T: for<'de> Deserialize<'de> {}
where
T: for<'de> Deserialize<'de>,
{
}
/// `DeserializeSeed` is the stateful form of the `Deserialize` trait. If you /// `DeserializeSeed` is the stateful form of the `Deserialize` trait. If you
/// ever find yourself looking for a way to pass data into a `Deserialize` impl, /// ever find yourself looking for a way to pass data into a `Deserialize` impl,
+7 -3
View File
@@ -82,7 +82,7 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Serde types in rustdoc of other crates get linked to here. // Serde types in rustdoc of other crates get linked to here.
#![doc(html_root_url = "https://docs.rs/serde/1.0.66")] #![doc(html_root_url = "https://docs.rs/serde/1.0.70")]
// Support using Serde without the standard library! // Support using Serde without the standard library!
#![cfg_attr(not(feature = "std"), no_std)] #![cfg_attr(not(feature = "std"), no_std)]
// Unstable functionality only if the user asks for it. For tracking and // Unstable functionality only if the user asks for it. For tracking and
@@ -118,6 +118,7 @@
stutter, stutter,
use_self, use_self,
// not practical // not practical
indexing_slicing,
many_single_char_names, many_single_char_names,
missing_docs_in_private_items, missing_docs_in_private_items,
similar_names, similar_names,
@@ -126,7 +127,10 @@
use_debug, use_debug,
))] ))]
// Blacklisted Rust lints. // Blacklisted Rust lints.
#![deny(missing_docs, unused_imports)] //
// Compiler bug involving unused_imports:
// https://github.com/rust-lang/rust/issues/51661
#![deny(missing_docs, /*unused_imports*/)]
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@@ -189,7 +193,7 @@ mod lib {
pub use std::sync::{Arc, Weak as ArcWeak}; pub use std::sync::{Arc, Weak as ArcWeak};
#[cfg(all(feature = "alloc", not(feature = "std")))] #[cfg(all(feature = "alloc", not(feature = "std")))]
pub use alloc::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; pub use alloc::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque};
#[cfg(feature = "std")] #[cfg(feature = "std")]
pub use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque}; pub use std::collections::{BTreeMap, BTreeSet, BinaryHeap, LinkedList, VecDeque};
+2 -2
View File
@@ -128,7 +128,7 @@
/// [`Deserializer`]: trait.Deserializer.html /// [`Deserializer`]: trait.Deserializer.html
/// [`Visitor`]: de/trait.Visitor.html /// [`Visitor`]: de/trait.Visitor.html
/// [`Deserializer::deserialize_any`]: trait.Deserializer.html#tymethod.deserialize_any /// [`Deserializer::deserialize_any`]: trait.Deserializer.html#tymethod.deserialize_any
#[macro_export] #[macro_export(local_inner_macros)]
macro_rules! forward_to_deserialize_any { macro_rules! forward_to_deserialize_any {
(<$visitor:ident: Visitor<$lifetime:tt>> $($func:ident)*) => { (<$visitor:ident: Visitor<$lifetime:tt>> $($func:ident)*) => {
$(forward_to_deserialize_any_helper!{$func<$lifetime, $visitor>})* $(forward_to_deserialize_any_helper!{$func<$lifetime, $visitor>})*
@@ -157,7 +157,7 @@ macro_rules! forward_to_deserialize_any_method {
} }
#[doc(hidden)] #[doc(hidden)]
#[macro_export] #[macro_export(local_inner_macros)]
macro_rules! forward_to_deserialize_any_helper { macro_rules! forward_to_deserialize_any_helper {
(bool<$l:tt, $v:ident>) => { (bool<$l:tt, $v:ident>) => {
forward_to_deserialize_any_method!{deserialize_bool<$l, $v>()} forward_to_deserialize_any_method!{deserialize_bool<$l, $v>()}
+2 -2
View File
@@ -32,7 +32,7 @@ macro_rules! __private_deserialize {
/// Used only by Serde doc tests. Not public API. /// Used only by Serde doc tests. Not public API.
#[doc(hidden)] #[doc(hidden)]
#[macro_export] #[macro_export(local_inner_macros)]
macro_rules! __serialize_unimplemented { macro_rules! __serialize_unimplemented {
($($func:ident)*) => { ($($func:ident)*) => {
$( $(
@@ -52,7 +52,7 @@ macro_rules! __serialize_unimplemented_method {
} }
#[doc(hidden)] #[doc(hidden)]
#[macro_export] #[macro_export(local_inner_macros)]
macro_rules! __serialize_unimplemented_helper { macro_rules! __serialize_unimplemented_helper {
(bool) => { (bool) => {
__serialize_unimplemented_method!(serialize_bool(bool) -> Ok); __serialize_unimplemented_method!(serialize_bool(bool) -> Ok);
+9
View File
@@ -69,6 +69,15 @@ impl Serialize for String {
} }
} }
impl<'a> Serialize for fmt::Arguments<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serializer.collect_str(self)
}
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
#[cfg(feature = "std")] #[cfg(feature = "std")]
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "serde_derive" name = "serde_derive"
version = "1.0.66" # remember to update html_root_url version = "1.0.70" # remember to update html_root_url
authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"] authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]" description = "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]"
+4 -4
View File
@@ -200,7 +200,7 @@ pub fn with_bound(
lifetimes: None, lifetimes: None,
// the type parameter that is being bounded e.g. T // the type parameter that is being bounded e.g. T
bounded_ty: syn::Type::Path(bounded_ty), bounded_ty: syn::Type::Path(bounded_ty),
colon_token: Default::default(), colon_token: <Token![:]>::default(),
// the bound e.g. Serialize // the bound e.g. Serialize
bounds: vec![syn::TypeParamBound::Trait(syn::TraitBound { bounds: vec![syn::TypeParamBound::Trait(syn::TraitBound {
paren_token: None, paren_token: None,
@@ -233,7 +233,7 @@ pub fn with_self_bound(
lifetimes: None, lifetimes: None,
// the type that is being bounded e.g. MyStruct<'a, T> // the type that is being bounded e.g. MyStruct<'a, T>
bounded_ty: type_of_item(cont), bounded_ty: type_of_item(cont),
colon_token: Default::default(), colon_token: <Token![:]>::default(),
// the bound e.g. Default // the bound e.g. Default
bounds: vec![syn::TypeParamBound::Trait(syn::TraitBound { bounds: vec![syn::TypeParamBound::Trait(syn::TraitBound {
paren_token: None, paren_token: None,
@@ -289,7 +289,7 @@ fn type_of_item(cont: &Container) -> syn::Type {
arguments: syn::PathArguments::AngleBracketed( arguments: syn::PathArguments::AngleBracketed(
syn::AngleBracketedGenericArguments { syn::AngleBracketedGenericArguments {
colon2_token: None, colon2_token: None,
lt_token: Default::default(), lt_token: <Token![<]>::default(),
args: cont args: cont
.generics .generics
.params .params
@@ -309,7 +309,7 @@ fn type_of_item(cont: &Container) -> syn::Type {
} }
}) })
.collect(), .collect(),
gt_token: Default::default(), gt_token: <Token![>]>::default(),
}, },
), ),
}].into_iter() }].into_iter()
+3
View File
@@ -73,6 +73,9 @@ pub fn expand_derive_deserialize(input: &syn::DeriveInput) -> Result<TokenStream
let generated = quote! { let generated = quote! {
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const #dummy_const: () = { const #dummy_const: () = {
#[allow(unknown_lints)]
#[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))]
#[allow(rust_2018_idioms)]
extern crate serde as _serde; extern crate serde as _serde;
#try_replacement #try_replacement
#impl_block #impl_block
+2 -2
View File
@@ -22,7 +22,7 @@
//! //!
//! [https://serde.rs/derive.html]: https://serde.rs/derive.html //! [https://serde.rs/derive.html]: https://serde.rs/derive.html
#![doc(html_root_url = "https://docs.rs/serde_derive/1.0.66")] #![doc(html_root_url = "https://docs.rs/serde_derive/1.0.70")]
#![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
// Whitelisted clippy lints // Whitelisted clippy lints
#![cfg_attr( #![cfg_attr(
@@ -37,7 +37,7 @@
feature = "cargo-clippy", feature = "cargo-clippy",
allow( allow(
items_after_statements, doc_markdown, stutter, similar_names, use_self, single_match_else, items_after_statements, doc_markdown, stutter, similar_names, use_self, single_match_else,
enum_glob_use, match_same_arms, filter_map, cast_possible_truncation enum_glob_use, match_same_arms, filter_map, cast_possible_truncation, indexing_slicing,
) )
)] )]
// The `quote!` macro requires deep recursion. // The `quote!` macro requires deep recursion.
+3
View File
@@ -61,6 +61,9 @@ pub fn expand_derive_serialize(input: &syn::DeriveInput) -> Result<TokenStream,
let generated = quote! { let generated = quote! {
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const #dummy_const: () = { const #dummy_const: () = {
#[allow(unknown_lints)]
#[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))]
#[allow(rust_2018_idioms)]
extern crate serde as _serde; extern crate serde as _serde;
#try_replacement #try_replacement
#impl_block #impl_block
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "serde_test" name = "serde_test"
version = "1.0.66" # remember to update html_root_url version = "1.0.70" # remember to update html_root_url
authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"] authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
description = "Token De/Serializer for testing De/Serialize implementations" description = "Token De/Serializer for testing De/Serialize implementations"
+1 -1
View File
@@ -161,7 +161,7 @@
//! # } //! # }
//! ``` //! ```
#![doc(html_root_url = "https://docs.rs/serde_test/1.0.66")] #![doc(html_root_url = "https://docs.rs/serde_test/1.0.70")]
#![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))] #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
// Whitelisted clippy lints // Whitelisted clippy lints
#![cfg_attr(feature = "cargo-clippy", allow(float_cmp))] #![cfg_attr(feature = "cargo-clippy", allow(float_cmp))]
+3 -8
View File
@@ -6,7 +6,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
#![feature(lang_items, start)] #![feature(lang_items, start, panic_implementation)]
#![no_std] #![no_std]
extern crate libc; extern crate libc;
@@ -20,13 +20,8 @@ fn start(_argc: isize, _argv: *const *const u8) -> isize {
#[no_mangle] #[no_mangle]
pub extern "C" fn rust_eh_personality() {} pub extern "C" fn rust_eh_personality() {}
#[lang = "panic_fmt"] #[panic_implementation]
#[no_mangle] fn panic(_info: &core::panic::PanicInfo) -> ! {
pub extern "C" fn rust_begin_panic(
_msg: core::fmt::Arguments,
_file: &'static str,
_line: u32,
) -> ! {
unsafe { unsafe {
libc::abort(); libc::abort();
} }
+5
View File
@@ -462,6 +462,11 @@ declare_tests! {
Token::SeqEnd, Token::SeqEnd,
], ],
} }
test_fmt_arguments {
format_args!("{}{}", 1, 'a') => &[
Token::Str("1a"),
],
}
} }
declare_tests! { declare_tests! {