in avro_derive/src/lib.rs [285:308]
fn default_enum_variant(
data_enum: &syn::DataEnum,
error_span: Span,
) -> Result<Option<String>, Vec<syn::Error>> {
match data_enum
.variants
.iter()
.filter(|v| v.attrs.iter().any(is_default_attr))
.collect::<Vec<_>>()
{
variants if variants.is_empty() => Ok(None),
single if single.len() == 1 => Ok(Some(single[0].ident.to_string())),
multiple => Err(vec![syn::Error::new(
error_span,
format!(
"Multiple defaults defined: {:?}",
multiple
.iter()
.map(|v| v.ident.to_string())
.collect::<Vec<String>>()
),
)]),
}
}