Delete Decoder::read_struct
This commit is contained in:
parent
a421b631ba
commit
c021ba48a7
5 changed files with 74 additions and 98 deletions
|
@ -122,29 +122,26 @@ impl<'a, K: DepKind + Decodable<opaque::Decoder<'a>>> Decodable<opaque::Decoder<
|
|||
let mut edge_list_data = Vec::with_capacity(edge_count);
|
||||
|
||||
for _index in 0..node_count {
|
||||
d.read_struct(|d| {
|
||||
let dep_node: DepNode<K> = d.read_struct_field("node", Decodable::decode);
|
||||
let _i: SerializedDepNodeIndex = nodes.push(dep_node);
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
let dep_node: DepNode<K> = d.read_struct_field("node", Decodable::decode);
|
||||
let _i: SerializedDepNodeIndex = nodes.push(dep_node);
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
|
||||
let fingerprint: Fingerprint =
|
||||
d.read_struct_field("fingerprint", Decodable::decode);
|
||||
let _i: SerializedDepNodeIndex = fingerprints.push(fingerprint);
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
let fingerprint: Fingerprint = d.read_struct_field("fingerprint", Decodable::decode);
|
||||
let _i: SerializedDepNodeIndex = fingerprints.push(fingerprint);
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
|
||||
d.read_struct_field("edges", |d| {
|
||||
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);
|
||||
edge_list_data.push(edge);
|
||||
}
|
||||
let end = edge_list_data.len().try_into().unwrap();
|
||||
let _i: SerializedDepNodeIndex = edge_list_indices.push((start, end));
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
})
|
||||
d.read_struct_field("edges", |d| {
|
||||
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);
|
||||
edge_list_data.push(edge);
|
||||
}
|
||||
let end = edge_list_data.len().try_into().unwrap();
|
||||
let _i: SerializedDepNodeIndex = edge_list_indices.push((start, end));
|
||||
debug_assert_eq!(_i.index(), _index);
|
||||
})
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
let index: FxHashMap<_, _> =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue