Produce a separate warning for every colliding name

This commit is contained in:
David Tolnay 2024-11-10 23:23:09 -08:00
parent 7f1e697c0d
commit c59e876bb3
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -2217,7 +2217,11 @@ fn deserialize_identifier(
let ident = &field.ident; let ident = &field.ident;
let aliases = field.aliases; let aliases = field.aliases;
// `aliases` also contains a main name // `aliases` also contains a main name
quote!(#(#aliases)|* => _serde::__private::Ok(#this_value::#ident)) quote! {
#(
#aliases => _serde::__private::Ok(#this_value::#ident),
)*
}
}); });
let bytes_mapping = deserialized_fields.iter().map(|field| { let bytes_mapping = deserialized_fields.iter().map(|field| {
let ident = &field.ident; let ident = &field.ident;
@ -2226,7 +2230,11 @@ fn deserialize_identifier(
.aliases .aliases
.iter() .iter()
.map(|alias| Literal::byte_string(alias.value.as_bytes())); .map(|alias| Literal::byte_string(alias.value.as_bytes()));
quote!(#(#aliases)|* => _serde::__private::Ok(#this_value::#ident)) quote! {
#(
#aliases => _serde::__private::Ok(#this_value::#ident),
)*
}
}); });
let expecting = expecting.unwrap_or(if is_variant { let expecting = expecting.unwrap_or(if is_variant {
@ -2424,7 +2432,7 @@ fn deserialize_identifier(
__E: _serde::de::Error, __E: _serde::de::Error,
{ {
match __value { match __value {
#(#str_mapping,)* #(#str_mapping)*
_ => { _ => {
#value_as_borrowed_str_content #value_as_borrowed_str_content
#fallthrough_borrowed_arm #fallthrough_borrowed_arm
@ -2437,7 +2445,7 @@ fn deserialize_identifier(
__E: _serde::de::Error, __E: _serde::de::Error,
{ {
match __value { match __value {
#(#bytes_mapping,)* #(#bytes_mapping)*
_ => { _ => {
#bytes_to_str #bytes_to_str
#value_as_borrowed_bytes_content #value_as_borrowed_bytes_content
@ -2462,7 +2470,7 @@ fn deserialize_identifier(
__E: _serde::de::Error, __E: _serde::de::Error,
{ {
match __value { match __value {
#(#str_mapping,)* #(#str_mapping)*
_ => { _ => {
#value_as_str_content #value_as_str_content
#fallthrough_arm #fallthrough_arm
@ -2475,7 +2483,7 @@ fn deserialize_identifier(
__E: _serde::de::Error, __E: _serde::de::Error,
{ {
match __value { match __value {
#(#bytes_mapping,)* #(#bytes_mapping)*
_ => { _ => {
#bytes_to_str #bytes_to_str
#value_as_bytes_content #value_as_bytes_content