fix error messages

This commit is contained in:
Tom Dohrmann 2020-02-10 11:58:20 +01:00 committed by Ryan Leckey
parent a2ba26dc7e
commit 6baddae9fd
3 changed files with 39 additions and 6 deletions

View File

@ -27,9 +27,20 @@ pub fn expand_derive_decode(input: &DeriveInput) -> syn::Result<proc_macro2::Tok
fields: Fields::Named(FieldsNamed { named, .. }),
..
}) => expand_derive_decode_struct(input, named),
_ => Err(syn::Error::new_spanned(
Data::Union(_) => Err(syn::Error::new_spanned(input, "unions are not supported")),
Data::Struct(DataStruct {
fields: Fields::Unnamed(..),
..
}) => Err(syn::Error::new_spanned(
input,
"expected a tuple struct with a single field",
"structs with zero or more than one unnamed field are not supported",
)),
Data::Struct(DataStruct {
fields: Fields::Unit,
..
}) => Err(syn::Error::new_spanned(
input,
"unit structs are not supported",
)),
}
}

View File

@ -28,9 +28,20 @@ pub fn expand_derive_encode(input: &DeriveInput) -> syn::Result<proc_macro2::Tok
fields: Fields::Named(FieldsNamed { named, .. }),
..
}) => expand_derive_encode_struct(input, named),
_ => Err(syn::Error::new_spanned(
Data::Union(_) => Err(syn::Error::new_spanned(input, "unions are not supported")),
Data::Struct(DataStruct {
fields: Fields::Unnamed(..),
..
}) => Err(syn::Error::new_spanned(
input,
"expected a tuple struct with a single field",
"structs with zero or more than one unnamed field are not supported",
)),
Data::Struct(DataStruct {
fields: Fields::Unit,
..
}) => Err(syn::Error::new_spanned(
input,
"unit structs are not supported",
)),
}
}

View File

@ -27,9 +27,20 @@ pub fn expand_derive_has_sql_type(input: &DeriveInput) -> syn::Result<proc_macro
fields: Fields::Named(FieldsNamed { named, .. }),
..
}) => expand_derive_has_sql_type_struct(input, named),
_ => Err(syn::Error::new_spanned(
Data::Union(_) => Err(syn::Error::new_spanned(input, "unions are not supported")),
Data::Struct(DataStruct {
fields: Fields::Unnamed(..),
..
}) => Err(syn::Error::new_spanned(
input,
"expected a tuple struct with a single field",
"structs with zero or more than one unnamed field are not supported",
)),
Data::Struct(DataStruct {
fields: Fields::Unit,
..
}) => Err(syn::Error::new_spanned(
input,
"unit structs are not supported",
)),
}
}