1
0
Fork 0
mirror of https://gitlab.com/msrd0/gotham-restful.git synced 2025-02-22 20:52:27 +00:00

more error messages

[skip ci]
This commit is contained in:
Dominic 2021-03-09 16:17:11 +01:00
parent a57f1c097d
commit 2a35e044db
Signed by: msrd0
GPG key ID: DCC8C247452E98F9
9 changed files with 62 additions and 2 deletions

View file

@ -0,0 +1,6 @@
use openapi_type::OpenapiType;
#[derive(OpenapiType)]
struct Foo(i64, i64);
fn main() {}

View file

@ -0,0 +1,5 @@
error: #[derive(OpenapiType)] does not support tuple structs
--> $DIR/tuple_struct.rs:4:11
|
4 | struct Foo(i64, i64);
| ^^^^^^^^^^

View file

@ -0,0 +1,8 @@
use openapi_type::OpenapiType;
#[derive(OpenapiType)]
enum Foo {
Pair(i64, i64)
}
fn main() {}

View file

@ -0,0 +1,5 @@
error: #[derive(OpenapiType)] does not support tuple variants
--> $DIR/tuple_variant.rs:5:6
|
5 | Pair(i64, i64)
| ^^^^^^^^^^

View file

@ -0,0 +1,9 @@
use openapi_type::OpenapiType;
#[derive(OpenapiType)]
union Foo {
signed: i64,
unsigned: u64
}
fn main() {}

View file

@ -0,0 +1,5 @@
error: #[derive(OpenapiType)] cannot be used on unions
--> $DIR/union.rs:4:1
|
4 | union Foo {
| ^^^^^

View file

@ -0,0 +1,7 @@
use openapi_type::OpenapiType;
#[derive(OpenapiType)]
#[openapi(pizza)]
struct Foo;
fn main() {}

View file

@ -0,0 +1,5 @@
error: Unexpected token
--> $DIR/unknown_attribute.rs:4:11
|
4 | #[openapi(pizza)]
| ^^^^^

View file

@ -35,7 +35,12 @@ fn parse_named_fields(named_fields: &FieldsNamed) -> syn::Result<ParseData> {
pub(super) fn parse_struct(strukt: &DataStruct) -> syn::Result<ParseData> { pub(super) fn parse_struct(strukt: &DataStruct) -> syn::Result<ParseData> {
match &strukt.fields { match &strukt.fields {
Fields::Named(named_fields) => parse_named_fields(named_fields), Fields::Named(named_fields) => parse_named_fields(named_fields),
Fields::Unnamed(_) => unimplemented!(), Fields::Unnamed(unnamed_fields) => {
return Err(syn::Error::new(
unnamed_fields.span(),
"#[derive(OpenapiType)] does not support tuple structs"
))
},
Fields::Unit => Ok(ParseData::Unit) Fields::Unit => Ok(ParseData::Unit)
} }
} }
@ -50,7 +55,12 @@ pub(super) fn parse_enum(inum: &DataEnum, attrs: &ContainerAttributes) -> syn::R
Fields::Named(named_fields) => { Fields::Named(named_fields) => {
types.push((name, parse_named_fields(named_fields)?)); types.push((name, parse_named_fields(named_fields)?));
}, },
Fields::Unnamed(_unnamed_fields) => unimplemented!(), Fields::Unnamed(unnamed_fields) => {
return Err(syn::Error::new(
unnamed_fields.span(),
"#[derive(OpenapiType)] does not support tuple variants"
))
},
Fields::Unit => strings.push(name) Fields::Unit => strings.push(name)
} }
} }