Simplify enumerate().find(...) -> Iterator::position

This commit is contained in:
David Tolnay
2023-06-07 21:23:31 -07:00
parent 43b23c7ea0
commit 361c23a09a
+2 -6
View File
@@ -1168,12 +1168,8 @@ fn deserialize_enum(
cattrs: &attr::Container, cattrs: &attr::Container,
) -> Fragment { ) -> Fragment {
// The variants have already been checked (in ast.rs) that all untagged variants appear at the end // The variants have already been checked (in ast.rs) that all untagged variants appear at the end
match variants match variants.iter().position(|var| var.attrs.untagged()) {
.iter() Some(variant_idx) => {
.enumerate()
.find(|(_, var)| var.attrs.untagged())
{
Some((variant_idx, _)) => {
let (tagged, untagged) = variants.split_at(variant_idx); let (tagged, untagged) = variants.split_at(variant_idx);
let tagged_frag = Expr(deserialize_homogeneous_enum(params, tagged, cattrs)); let tagged_frag = Expr(deserialize_homogeneous_enum(params, tagged, cattrs));
let tagged_frag = |deserializer| { let tagged_frag = |deserializer| {