Skip to content

Commit c6ad61a

Browse files
Delete Decoder::read_map
1 parent 42904b0 commit c6ad61a

File tree

2 files changed

+26
-37
lines changed

2 files changed

+26
-37
lines changed

compiler/rustc_serialize/src/collection_impls.rs

+26-29
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,14 @@ where
8181
V: Decodable<D>,
8282
{
8383
fn decode(d: &mut D) -> BTreeMap<K, V> {
84-
d.read_map(|d, len| {
85-
let mut map = BTreeMap::new();
86-
for _ in 0..len {
87-
let key = Decodable::decode(d);
88-
let val = Decodable::decode(d);
89-
map.insert(key, val);
90-
}
91-
map
92-
})
84+
let len = d.read_usize();
85+
let mut map = BTreeMap::new();
86+
for _ in 0..len {
87+
let key = Decodable::decode(d);
88+
let val = Decodable::decode(d);
89+
map.insert(key, val);
90+
}
91+
map
9392
}
9493
}
9594

@@ -145,16 +144,15 @@ where
145144
S: BuildHasher + Default,
146145
{
147146
fn decode(d: &mut D) -> HashMap<K, V, S> {
148-
d.read_map(|d, len| {
149-
let state = Default::default();
150-
let mut map = HashMap::with_capacity_and_hasher(len, state);
151-
for _ in 0..len {
152-
let key = Decodable::decode(d);
153-
let val = Decodable::decode(d);
154-
map.insert(key, val);
155-
}
156-
map
157-
})
147+
let len = d.read_usize();
148+
let state = Default::default();
149+
let mut map = HashMap::with_capacity_and_hasher(len, state);
150+
for _ in 0..len {
151+
let key = Decodable::decode(d);
152+
let val = Decodable::decode(d);
153+
map.insert(key, val);
154+
}
155+
map
158156
}
159157
}
160158

@@ -223,16 +221,15 @@ where
223221
S: BuildHasher + Default,
224222
{
225223
fn decode(d: &mut D) -> indexmap::IndexMap<K, V, S> {
226-
d.read_map(|d, len| {
227-
let state = Default::default();
228-
let mut map = indexmap::IndexMap::with_capacity_and_hasher(len, state);
229-
for _ in 0..len {
230-
let key = Decodable::decode(d);
231-
let val = Decodable::decode(d);
232-
map.insert(key, val);
233-
}
234-
map
235-
})
224+
let len = d.read_usize();
225+
let state = Default::default();
226+
let mut map = indexmap::IndexMap::with_capacity_and_hasher(len, state);
227+
for _ in 0..len {
228+
let key = Decodable::decode(d);
229+
let val = Decodable::decode(d);
230+
map.insert(key, val);
231+
}
232+
map
236233
}
237234
}
238235

compiler/rustc_serialize/src/serialize.rs

-8
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,6 @@ pub trait Decoder {
200200
fn read_char(&mut self) -> char;
201201
fn read_str(&mut self) -> Cow<'_, str>;
202202
fn read_raw_bytes_into(&mut self, s: &mut [u8]);
203-
204-
fn read_map<T, F>(&mut self, f: F) -> T
205-
where
206-
F: FnOnce(&mut Self, usize) -> T,
207-
{
208-
let len = self.read_usize();
209-
f(self, len)
210-
}
211203
}
212204

213205
/// Trait for types that can be serialized

0 commit comments

Comments
 (0)