mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-15 19:01:01 +00:00
Delete support for compilers without Iterator::try_for_each
This commit is contained in:
@@ -16,12 +16,6 @@ fn main() {
|
|||||||
let target = env::var("TARGET").unwrap();
|
let target = env::var("TARGET").unwrap();
|
||||||
let emscripten = target == "asmjs-unknown-emscripten" || target == "wasm32-unknown-emscripten";
|
let emscripten = target == "asmjs-unknown-emscripten" || target == "wasm32-unknown-emscripten";
|
||||||
|
|
||||||
// Iterator::try_for_each stabilized in Rust 1.27:
|
|
||||||
// https://blog.rust-lang.org/2018/06/21/Rust-1.27.html#library-stabilizations
|
|
||||||
if minor < 27 {
|
|
||||||
println!("cargo:rustc-cfg=no_iterator_try_fold");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Non-zero integers stabilized in Rust 1.28:
|
// Non-zero integers stabilized in Rust 1.28:
|
||||||
// https://blog.rust-lang.org/2018/08/02/Rust-1.28.html#library-stabilizations
|
// https://blog.rust-lang.org/2018/08/02/Rust-1.28.html#library-stabilizations
|
||||||
if minor < 28 {
|
if minor < 28 {
|
||||||
|
|||||||
+4
-30
@@ -1279,22 +1279,9 @@ pub trait Serializer: Sized {
|
|||||||
I: IntoIterator,
|
I: IntoIterator,
|
||||||
<I as IntoIterator>::Item: Serialize,
|
<I as IntoIterator>::Item: Serialize,
|
||||||
{
|
{
|
||||||
let iter = iter.into_iter();
|
let mut iter = iter.into_iter();
|
||||||
let mut serializer = try!(self.serialize_seq(iterator_len_hint(&iter)));
|
let mut serializer = try!(self.serialize_seq(iterator_len_hint(&iter)));
|
||||||
|
try!(iter.try_for_each(|item| serializer.serialize_element(&item)));
|
||||||
#[cfg(not(no_iterator_try_fold))]
|
|
||||||
{
|
|
||||||
let mut iter = iter;
|
|
||||||
try!(iter.try_for_each(|item| serializer.serialize_element(&item)));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(no_iterator_try_fold)]
|
|
||||||
{
|
|
||||||
for item in iter {
|
|
||||||
try!(serializer.serialize_element(&item));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
serializer.end()
|
serializer.end()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1330,22 +1317,9 @@ pub trait Serializer: Sized {
|
|||||||
V: Serialize,
|
V: Serialize,
|
||||||
I: IntoIterator<Item = (K, V)>,
|
I: IntoIterator<Item = (K, V)>,
|
||||||
{
|
{
|
||||||
let iter = iter.into_iter();
|
let mut iter = iter.into_iter();
|
||||||
let mut serializer = try!(self.serialize_map(iterator_len_hint(&iter)));
|
let mut serializer = try!(self.serialize_map(iterator_len_hint(&iter)));
|
||||||
|
try!(iter.try_for_each(|(key, value)| serializer.serialize_entry(&key, &value)));
|
||||||
#[cfg(not(no_iterator_try_fold))]
|
|
||||||
{
|
|
||||||
let mut iter = iter;
|
|
||||||
try!(iter.try_for_each(|(key, value)| serializer.serialize_entry(&key, &value)));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(no_iterator_try_fold)]
|
|
||||||
{
|
|
||||||
for (key, value) in iter {
|
|
||||||
try!(serializer.serialize_entry(&key, &value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
serializer.end()
|
serializer.end()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user