diff options
Diffstat (limited to 'compiler/rustc_serialize/src/collection_impls.rs')
| -rw-r--r-- | compiler/rustc_serialize/src/collection_impls.rs | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/compiler/rustc_serialize/src/collection_impls.rs b/compiler/rustc_serialize/src/collection_impls.rs index 38f6b402fc5..41faf4f70ac 100644 --- a/compiler/rustc_serialize/src/collection_impls.rs +++ b/compiler/rustc_serialize/src/collection_impls.rs @@ -18,7 +18,8 @@ impl<S: Encoder, A: Array<Item: Encodable<S>>> Encodable<S> for SmallVec<A> { impl<D: Decoder, A: Array<Item: Decodable<D>>> Decodable<D> for SmallVec<A> { fn decode(d: &mut D) -> SmallVec<A> { - d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect()) + let len = d.read_usize(); + (0..len).map(|_| Decodable::decode(d)).collect() } } @@ -35,7 +36,8 @@ impl<S: Encoder, T: Encodable<S>> Encodable<S> for LinkedList<T> { impl<D: Decoder, T: Decodable<D>> Decodable<D> for LinkedList<T> { fn decode(d: &mut D) -> LinkedList<T> { - d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect()) + let len = d.read_usize(); + (0..len).map(|_| Decodable::decode(d)).collect() } } @@ -52,7 +54,8 @@ impl<S: Encoder, T: Encodable<S>> Encodable<S> for VecDeque<T> { impl<D: Decoder, T: Decodable<D>> Decodable<D> for VecDeque<T> { fn decode(d: &mut D) -> VecDeque<T> { - d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect()) + let len = d.read_usize(); + (0..len).map(|_| Decodable::decode(d)).collect() } } @@ -109,13 +112,12 @@ where T: Decodable<D> + PartialEq + Ord, { fn decode(d: &mut D) -> BTreeSet<T> { - d.read_seq(|d, len| { - let mut set = BTreeSet::new(); - for _ in 0..len { - set.insert(Decodable::decode(d)); - } - set - }) + let len = d.read_usize(); + let mut set = BTreeSet::new(); + for _ in 0..len { + set.insert(Decodable::decode(d)); + } + set } } @@ -187,14 +189,13 @@ where S: BuildHasher + Default, { fn decode(d: &mut D) -> HashSet<T, S> { - d.read_seq(|d, len| { - let state = Default::default(); - let mut set = HashSet::with_capacity_and_hasher(len, state); - for _ in 0..len { - set.insert(Decodable::decode(d)); - } - set - }) + let len = d.read_usize(); + let state = Default::default(); + let mut set = HashSet::with_capacity_and_hasher(len, state); + for _ in 0..len { + set.insert(Decodable::decode(d)); + } + set } } @@ -256,14 +257,13 @@ where S: BuildHasher + Default, { fn decode(d: &mut D) -> indexmap::IndexSet<T, S> { - d.read_seq(|d, len| { - let state = Default::default(); - let mut set = indexmap::IndexSet::with_capacity_and_hasher(len, state); - for _ in 0..len { - set.insert(Decodable::decode(d)); - } - set - }) + let len = d.read_usize(); + let state = Default::default(); + let mut set = indexmap::IndexSet::with_capacity_and_hasher(len, state); + for _ in 0..len { + set.insert(Decodable::decode(d)); + } + set } } |
