about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2022-02-09 17:39:50 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2022-02-20 18:58:22 -0500
commit24dc0521324830dd4a64f528413a1650493ced7a (patch)
tree7e0bf96c84f05fded3158ca268ce552c779d2c1d
parent2d8595e0d78377a39882b1b9cad8159adb365d69 (diff)
downloadrust-24dc0521324830dd4a64f528413a1650493ced7a.tar.gz
rust-24dc0521324830dd4a64f528413a1650493ced7a.zip
Delete Decoder::read_seq_elt
-rw-r--r--compiler/rustc_query_system/src/dep_graph/serialized.rs2
-rw-r--r--compiler/rustc_serialize/src/collection_impls.rs12
-rw-r--r--compiler/rustc_serialize/src/serialize.rs15
3 files changed, 9 insertions, 20 deletions
diff --git a/compiler/rustc_query_system/src/dep_graph/serialized.rs b/compiler/rustc_query_system/src/dep_graph/serialized.rs
index 29db5a9878e..2ac5d5431a5 100644
--- a/compiler/rustc_query_system/src/dep_graph/serialized.rs
+++ b/compiler/rustc_query_system/src/dep_graph/serialized.rs
@@ -133,7 +133,7 @@ impl<'a, K: DepKind + Decodable<opaque::Decoder<'a>>> Decodable<opaque::Decoder<
             d.read_seq(|d, len| {
                 let start = edge_list_data.len().try_into().unwrap();
                 for _ in 0..len {
-                    let edge = d.read_seq_elt(Decodable::decode);
+                    let edge = Decodable::decode(d);
                     edge_list_data.push(edge);
                 }
                 let end = edge_list_data.len().try_into().unwrap();
diff --git a/compiler/rustc_serialize/src/collection_impls.rs b/compiler/rustc_serialize/src/collection_impls.rs
index 02b28f7c626..e53a6dc47b4 100644
--- a/compiler/rustc_serialize/src/collection_impls.rs
+++ b/compiler/rustc_serialize/src/collection_impls.rs
@@ -18,7 +18,7 @@ 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(|_| d.read_seq_elt(|d| Decodable::decode(d))).collect())
+        d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect())
     }
 }
 
@@ -35,7 +35,7 @@ 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(|_| d.read_seq_elt(|d| Decodable::decode(d))).collect())
+        d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect())
     }
 }
 
@@ -52,7 +52,7 @@ 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(|_| d.read_seq_elt(|d| Decodable::decode(d))).collect())
+        d.read_seq(|d, len| (0..len).map(|_| Decodable::decode(d)).collect())
     }
 }
 
@@ -112,7 +112,7 @@ where
         d.read_seq(|d, len| {
             let mut set = BTreeSet::new();
             for _ in 0..len {
-                set.insert(d.read_seq_elt(|d| Decodable::decode(d)));
+                set.insert(Decodable::decode(d));
             }
             set
         })
@@ -191,7 +191,7 @@ where
             let state = Default::default();
             let mut set = HashSet::with_capacity_and_hasher(len, state);
             for _ in 0..len {
-                set.insert(d.read_seq_elt(|d| Decodable::decode(d)));
+                set.insert(Decodable::decode(d));
             }
             set
         })
@@ -260,7 +260,7 @@ where
             let state = Default::default();
             let mut set = indexmap::IndexSet::with_capacity_and_hasher(len, state);
             for _ in 0..len {
-                set.insert(d.read_seq_elt(|d| Decodable::decode(d)));
+                set.insert(Decodable::decode(d));
             }
             set
         })
diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs
index 660de8346a5..9a45bc56ce1 100644
--- a/compiler/rustc_serialize/src/serialize.rs
+++ b/compiler/rustc_serialize/src/serialize.rs
@@ -230,14 +230,6 @@ pub trait Decoder {
         f(self, len)
     }
 
-    #[inline]
-    fn read_seq_elt<T, F>(&mut self, f: F) -> T
-    where
-        F: FnOnce(&mut Self) -> T,
-    {
-        f(self)
-    }
-
     fn read_map<T, F>(&mut self, f: F) -> T
     where
         F: FnOnce(&mut Self, usize) -> T,
@@ -449,10 +441,7 @@ impl<D: Decoder, T: Decodable<D>> Decodable<D> for Vec<T> {
             unsafe {
                 let ptr: *mut T = vec.as_mut_ptr();
                 for i in 0..len {
-                    std::ptr::write(
-                        ptr.offset(i as isize),
-                        d.read_seq_elt(|d| Decodable::decode(d)),
-                    );
+                    std::ptr::write(ptr.offset(i as isize), Decodable::decode(d));
                 }
                 vec.set_len(len);
             }
@@ -474,7 +463,7 @@ impl<D: Decoder, const N: usize> Decodable<D> for [u8; N] {
             assert!(len == N);
             let mut v = [0u8; N];
             for i in 0..len {
-                v[i] = d.read_seq_elt(|d| Decodable::decode(d));
+                v[i] = Decodable::decode(d);
             }
             v
         })