Remove more push_new and extend_new usages

This commit is contained in:
Richard Feldman 2024-10-11 14:59:58 -04:00
parent b2ea0b842c
commit 49d1786f6c
No known key found for this signature in database
GPG key ID: DAC334802F365236
10 changed files with 517 additions and 269 deletions

View file

@ -1034,14 +1034,16 @@ mod serialize {
specialization_lambda_sets,
} in spec_info
{
let regions = SubsSlice::extend_new(
&mut spec_lambda_sets_regions,
specialization_lambda_sets.keys().copied(),
);
let vars = SubsSlice::extend_new(
&mut spec_lambda_sets_vars,
specialization_lambda_sets.values().copied(),
);
let regions = {
let start = spec_lambda_sets_regions.len() as u32;
spec_lambda_sets_regions.extend(specialization_lambda_sets.keys().copied());
SubsSlice::new(start, spec_lambda_sets_regions.len() as u16)
};
let vars = {
let start = spec_lambda_sets_vars.len() as u32;
spec_lambda_sets_vars.extend(specialization_lambda_sets.values().copied());
SubsSlice::new(start, spec_lambda_sets_vars.len() as u16)
};
ser_member_spec_infos.push(SerMemberSpecInfo(*symbol, regions, vars));
}
@ -1168,14 +1170,18 @@ mod serialize {
symbol,
specialization_lambda_sets,
}) => {
let regions = SubsSlice::extend_new(
&mut spec_lambda_sets_regions,
specialization_lambda_sets.keys().copied(),
);
let vars = SubsSlice::extend_new(
&mut spec_lambda_sets_vars,
specialization_lambda_sets.values().copied(),
);
let regions = {
let start = spec_lambda_sets_regions.len() as u32;
spec_lambda_sets_regions
.extend(specialization_lambda_sets.keys().copied());
SubsSlice::new(start, spec_lambda_sets_regions.len() as u16)
};
let vars = {
let start = spec_lambda_sets_vars.len() as u32;
spec_lambda_sets_vars
.extend(specialization_lambda_sets.values().copied());
SubsSlice::new(start, spec_lambda_sets_vars.len() as u16)
};
SerResolvedImpl::Impl(SerMemberSpecInfo(*symbol, regions, vars))
}
ResolvedImpl::Error => SerResolvedImpl::Error,