Skip to content

Commit e4a6032

Browse files
committed
Auto merge of #85903 - bjorn3:rustc_serialize_cleanup, r=varkor
Remove unused functions and arguments from rustc_serialize
2 parents 2312ff1 + a2c4aff commit e4a6032

File tree

8 files changed

+130
-336
lines changed

8 files changed

+130
-336
lines changed

compiler/rustc_errors/src/json.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ macro_rules! encode_fields {
216216
$(
217217
$enc.emit_struct_field(
218218
stringify!($name),
219-
idx,
219+
idx == 0,
220220
|enc| $name.encode(enc),
221221
)?;
222222
idx += 1;
@@ -229,7 +229,7 @@ macro_rules! encode_fields {
229229
// Special-case encoder to skip tool_metadata if not set
230230
impl<E: Encoder> Encodable<E> for Diagnostic {
231231
fn encode(&self, s: &mut E) -> Result<(), E::Error> {
232-
s.emit_struct("diagnostic", 7, |s| {
232+
s.emit_struct(false, |s| {
233233
let mut idx = 0;
234234

235235
idx = encode_fields!(

compiler/rustc_macros/src/serialize.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,9 @@ fn decodable_body(
4343
let decode_body = match s.variants() {
4444
[vi] => {
4545
let construct = vi.construct(|field, index| decode_field(field, index, true));
46-
let n_fields = vi.ast().fields.len();
4746
quote! {
4847
::rustc_serialize::Decoder::read_struct(
4948
__decoder,
50-
#ty_name,
51-
#n_fields,
5249
|__decoder| { ::std::result::Result::Ok(#construct) },
5350
)
5451
}
@@ -77,7 +74,6 @@ fn decodable_body(
7774
quote! {
7875
::rustc_serialize::Decoder::read_enum(
7976
__decoder,
80-
#ty_name,
8177
|__decoder| {
8278
::rustc_serialize::Decoder::read_enum_variant(
8379
__decoder,
@@ -128,7 +124,7 @@ fn decode_field(field: &syn::Field, index: usize, is_struct: bool) -> proc_macro
128124

129125
quote! {
130126
match ::rustc_serialize::Decoder::#decode_method(
131-
__decoder, #opt_field_name #index, #decode_inner_method) {
127+
__decoder, #opt_field_name #decode_inner_method) {
132128
::std::result::Result::Ok(__res) => __res,
133129
::std::result::Result::Err(__err) => return ::std::result::Result::Err(__err),
134130
}
@@ -183,7 +179,6 @@ fn encodable_body(
183179
}
184180
});
185181

186-
let ty_name = s.ast().ident.to_string();
187182
let encode_body = match s.variants() {
188183
[_] => {
189184
let mut field_idx = 0usize;
@@ -197,11 +192,12 @@ fn encodable_body(
197192
.ident
198193
.as_ref()
199194
.map_or_else(|| field_idx.to_string(), |i| i.to_string());
195+
let first = field_idx == 0;
200196
let result = quote! {
201197
match ::rustc_serialize::Encoder::emit_struct_field(
202198
__encoder,
203199
#field_name,
204-
#field_idx,
200+
#first,
205201
|__encoder|
206202
::rustc_serialize::Encodable::<#encoder_ty>::encode(#bind_ident, __encoder),
207203
) {
@@ -215,8 +211,9 @@ fn encodable_body(
215211
})
216212
.collect::<TokenStream>()
217213
});
214+
let no_fields = field_idx == 0;
218215
quote! {
219-
::rustc_serialize::Encoder::emit_struct(__encoder, #ty_name, #field_idx, |__encoder| {
216+
::rustc_serialize::Encoder::emit_struct(__encoder, #no_fields, |__encoder| {
220217
::std::result::Result::Ok(match *self { #encode_inner })
221218
})
222219
}
@@ -232,10 +229,11 @@ fn encodable_body(
232229
.iter()
233230
.map(|binding| {
234231
let bind_ident = &binding.binding;
232+
let first = field_idx == 0;
235233
let result = quote! {
236234
match ::rustc_serialize::Encoder::emit_enum_variant_arg(
237235
__encoder,
238-
#field_idx,
236+
#first,
239237
|__encoder|
240238
::rustc_serialize::Encodable::<#encoder_ty>::encode(#bind_ident, __encoder),
241239
) {
@@ -260,7 +258,7 @@ fn encodable_body(
260258
result
261259
});
262260
quote! {
263-
::rustc_serialize::Encoder::emit_enum(__encoder, #ty_name, |__encoder| {
261+
::rustc_serialize::Encoder::emit_enum(__encoder, |__encoder| {
264262
match *self {
265263
#encode_inner
266264
}

compiler/rustc_query_system/src/dep_graph/serialized.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -122,21 +122,21 @@ impl<'a, K: DepKind + Decodable<opaque::Decoder<'a>>> Decodable<opaque::Decoder<
122122
let mut edge_list_data = Vec::with_capacity(edge_count);
123123

124124
for _index in 0..node_count {
125-
d.read_struct("NodeInfo", 3, |d| {
126-
let dep_node: DepNode<K> = d.read_struct_field("node", 0, Decodable::decode)?;
125+
d.read_struct(|d| {
126+
let dep_node: DepNode<K> = d.read_struct_field("node", Decodable::decode)?;
127127
let _i: SerializedDepNodeIndex = nodes.push(dep_node);
128128
debug_assert_eq!(_i.index(), _index);
129129

130130
let fingerprint: Fingerprint =
131-
d.read_struct_field("fingerprint", 1, Decodable::decode)?;
131+
d.read_struct_field("fingerprint", Decodable::decode)?;
132132
let _i: SerializedDepNodeIndex = fingerprints.push(fingerprint);
133133
debug_assert_eq!(_i.index(), _index);
134134

135-
d.read_struct_field("edges", 2, |d| {
135+
d.read_struct_field("edges", |d| {
136136
d.read_seq(|d, len| {
137137
let start = edge_list_data.len().try_into().unwrap();
138-
for e in 0..len {
139-
let edge = d.read_seq_elt(e, Decodable::decode)?;
138+
for _ in 0..len {
139+
let edge = d.read_seq_elt(Decodable::decode)?;
140140
edge_list_data.push(edge);
141141
}
142142
let end = edge_list_data.len().try_into().unwrap();

compiler/rustc_serialize/src/collection_impls.rs

+24-24
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ impl<D: Decoder, A: Array<Item: Decodable<D>>> Decodable<D> for SmallVec<A> {
2121
d.read_seq(|d, len| {
2222
let mut vec = SmallVec::with_capacity(len);
2323
// FIXME(#48994) - could just be collected into a Result<SmallVec, D::Error>
24-
for i in 0..len {
25-
vec.push(d.read_seq_elt(i, |d| Decodable::decode(d))?);
24+
for _ in 0..len {
25+
vec.push(d.read_seq_elt(|d| Decodable::decode(d))?);
2626
}
2727
Ok(vec)
2828
})
@@ -44,8 +44,8 @@ impl<D: Decoder, T: Decodable<D>> Decodable<D> for LinkedList<T> {
4444
fn decode(d: &mut D) -> Result<LinkedList<T>, D::Error> {
4545
d.read_seq(|d, len| {
4646
let mut list = LinkedList::new();
47-
for i in 0..len {
48-
list.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))?);
47+
for _ in 0..len {
48+
list.push_back(d.read_seq_elt(|d| Decodable::decode(d))?);
4949
}
5050
Ok(list)
5151
})
@@ -67,8 +67,8 @@ impl<D: Decoder, T: Decodable<D>> Decodable<D> for VecDeque<T> {
6767
fn decode(d: &mut D) -> Result<VecDeque<T>, D::Error> {
6868
d.read_seq(|d, len| {
6969
let mut deque: VecDeque<T> = VecDeque::with_capacity(len);
70-
for i in 0..len {
71-
deque.push_back(d.read_seq_elt(i, |d| Decodable::decode(d))?);
70+
for _ in 0..len {
71+
deque.push_back(d.read_seq_elt(|d| Decodable::decode(d))?);
7272
}
7373
Ok(deque)
7474
})
@@ -84,7 +84,7 @@ where
8484
e.emit_map(self.len(), |e| {
8585
for (i, (key, val)) in self.iter().enumerate() {
8686
e.emit_map_elt_key(i, |e| key.encode(e))?;
87-
e.emit_map_elt_val(i, |e| val.encode(e))?;
87+
e.emit_map_elt_val(|e| val.encode(e))?;
8888
}
8989
Ok(())
9090
})
@@ -99,9 +99,9 @@ where
9999
fn decode(d: &mut D) -> Result<BTreeMap<K, V>, D::Error> {
100100
d.read_map(|d, len| {
101101
let mut map = BTreeMap::new();
102-
for i in 0..len {
103-
let key = d.read_map_elt_key(i, |d| Decodable::decode(d))?;
104-
let val = d.read_map_elt_val(i, |d| Decodable::decode(d))?;
102+
for _ in 0..len {
103+
let key = d.read_map_elt_key(|d| Decodable::decode(d))?;
104+
let val = d.read_map_elt_val(|d| Decodable::decode(d))?;
105105
map.insert(key, val);
106106
}
107107
Ok(map)
@@ -130,8 +130,8 @@ where
130130
fn decode(d: &mut D) -> Result<BTreeSet<T>, D::Error> {
131131
d.read_seq(|d, len| {
132132
let mut set = BTreeSet::new();
133-
for i in 0..len {
134-
set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))?);
133+
for _ in 0..len {
134+
set.insert(d.read_seq_elt(|d| Decodable::decode(d))?);
135135
}
136136
Ok(set)
137137
})
@@ -148,7 +148,7 @@ where
148148
e.emit_map(self.len(), |e| {
149149
for (i, (key, val)) in self.iter().enumerate() {
150150
e.emit_map_elt_key(i, |e| key.encode(e))?;
151-
e.emit_map_elt_val(i, |e| val.encode(e))?;
151+
e.emit_map_elt_val(|e| val.encode(e))?;
152152
}
153153
Ok(())
154154
})
@@ -165,9 +165,9 @@ where
165165
d.read_map(|d, len| {
166166
let state = Default::default();
167167
let mut map = HashMap::with_capacity_and_hasher(len, state);
168-
for i in 0..len {
169-
let key = d.read_map_elt_key(i, |d| Decodable::decode(d))?;
170-
let val = d.read_map_elt_val(i, |d| Decodable::decode(d))?;
168+
for _ in 0..len {
169+
let key = d.read_map_elt_key(|d| Decodable::decode(d))?;
170+
let val = d.read_map_elt_val(|d| Decodable::decode(d))?;
171171
map.insert(key, val);
172172
}
173173
Ok(map)
@@ -209,8 +209,8 @@ where
209209
d.read_seq(|d, len| {
210210
let state = Default::default();
211211
let mut set = HashSet::with_capacity_and_hasher(len, state);
212-
for i in 0..len {
213-
set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))?);
212+
for _ in 0..len {
213+
set.insert(d.read_seq_elt(|d| Decodable::decode(d))?);
214214
}
215215
Ok(set)
216216
})
@@ -227,7 +227,7 @@ where
227227
e.emit_map(self.len(), |e| {
228228
for (i, (key, val)) in self.iter().enumerate() {
229229
e.emit_map_elt_key(i, |e| key.encode(e))?;
230-
e.emit_map_elt_val(i, |e| val.encode(e))?;
230+
e.emit_map_elt_val(|e| val.encode(e))?;
231231
}
232232
Ok(())
233233
})
@@ -244,9 +244,9 @@ where
244244
d.read_map(|d, len| {
245245
let state = Default::default();
246246
let mut map = indexmap::IndexMap::with_capacity_and_hasher(len, state);
247-
for i in 0..len {
248-
let key = d.read_map_elt_key(i, |d| Decodable::decode(d))?;
249-
let val = d.read_map_elt_val(i, |d| Decodable::decode(d))?;
247+
for _ in 0..len {
248+
let key = d.read_map_elt_key(|d| Decodable::decode(d))?;
249+
let val = d.read_map_elt_val(|d| Decodable::decode(d))?;
250250
map.insert(key, val);
251251
}
252252
Ok(map)
@@ -278,8 +278,8 @@ where
278278
d.read_seq(|d, len| {
279279
let state = Default::default();
280280
let mut set = indexmap::IndexSet::with_capacity_and_hasher(len, state);
281-
for i in 0..len {
282-
set.insert(d.read_seq_elt(i, |d| Decodable::decode(d))?);
281+
for _ in 0..len {
282+
set.insert(d.read_seq_elt(|d| Decodable::decode(d))?);
283283
}
284284
Ok(set)
285285
})

0 commit comments

Comments
 (0)