diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:20:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:20:39 +0000 |
commit | 1376c5a617be5c25655d0d7cb63e3beaa5a6e026 (patch) | |
tree | 3bb8d61aee02bc7a15eab3f36e3b921afc2075d0 /vendor/syn/tests/test_derive_input.rs | |
parent | Releasing progress-linux version 1.69.0+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.tar.xz rustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.zip |
Merging upstream version 1.70.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/syn/tests/test_derive_input.rs')
-rw-r--r-- | vendor/syn/tests/test_derive_input.rs | 277 |
1 files changed, 75 insertions, 202 deletions
diff --git a/vendor/syn/tests/test_derive_input.rs b/vendor/syn/tests/test_derive_input.rs index 1eff01186..3ec6aecbc 100644 --- a/vendor/syn/tests/test_derive_input.rs +++ b/vendor/syn/tests/test_derive_input.rs @@ -1,4 +1,9 @@ -#![allow(clippy::assertions_on_result_states, clippy::too_many_lines)] +#![allow( + clippy::assertions_on_result_states, + clippy::manual_let_else, + clippy::too_many_lines, + clippy::uninlined_format_args +)] #[macro_use] mod macros; @@ -14,11 +19,11 @@ fn test_unit() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "Unit", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } @@ -39,16 +44,18 @@ fn test_struct() { DeriveInput { attrs: [ Attribute { - style: Outer, - path: Path { - segments: [ - PathSegment { - ident: "derive", - arguments: None, - }, - ], + style: AttrStyle::Outer, + meta: Meta::List { + path: Path { + segments: [ + PathSegment { + ident: "derive", + }, + ], + }, + delimiter: MacroDelimiter::Paren, + tokens: TokenStream(`Debug , Clone`), }, - tokens: TokenStream(`(Debug , Clone)`), }, ], vis: Visibility::Public, @@ -66,7 +73,6 @@ fn test_struct() { segments: [ PathSegment { ident: "Ident", - arguments: None, }, ], }, @@ -83,12 +89,11 @@ fn test_struct() { ident: "Vec", arguments: PathArguments::AngleBracketed { args: [ - Type(Type::Path { + GenericArgument::Type(Type::Path { path: Path { segments: [ PathSegment { ident: "Attribute", - arguments: None, }, ], }, @@ -106,34 +111,17 @@ fn test_struct() { } "###); - snapshot!(input.attrs[0].parse_meta().unwrap(), @r###" + snapshot!(&input.attrs[0].meta, @r###" Meta::List { path: Path { segments: [ PathSegment { ident: "derive", - arguments: None, }, ], }, - nested: [ - Meta(Path(Path { - segments: [ - PathSegment { - ident: "Debug", - arguments: None, - }, - ], - })), - Meta(Path(Path { - segments: [ - PathSegment { - ident: "Clone", - arguments: None, - }, - ], - })), - ], + delimiter: MacroDelimiter::Paren, + tokens: TokenStream(`Debug , Clone`), } "###); } @@ -149,12 +137,12 @@ fn test_union() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "MaybeUninit", generics: Generics { lt_token: Some, params: [ - Type(TypeParam { + GenericParam::Type(TypeParam { ident: "T", }), ], @@ -164,13 +152,13 @@ fn test_union() { fields: FieldsNamed { named: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ident: Some("uninit"), colon_token: Some, ty: Type::Tuple, }, Field { - vis: Inherited, + vis: Visibility::Inherited, ident: Some("value"), colon_token: Some, ty: Type::Path { @@ -178,7 +166,6 @@ fn test_union() { segments: [ PathSegment { ident: "T", - arguments: None, }, ], }, @@ -212,28 +199,29 @@ fn test_enum() { DeriveInput { attrs: [ Attribute { - style: Outer, - path: Path { - segments: [ - PathSegment { - ident: "doc", - arguments: None, - }, - ], + style: AttrStyle::Outer, + meta: Meta::NameValue { + path: Path { + segments: [ + PathSegment { + ident: "doc", + }, + ], + }, + value: Expr::Lit { + lit: " See the std::result module documentation for details.", + }, }, - tokens: TokenStream(`= r" See the std::result module documentation for details."`), }, Attribute { - style: Outer, - path: Path { + style: AttrStyle::Outer, + meta: Meta::Path { segments: [ PathSegment { ident: "must_use", - arguments: None, }, ], }, - tokens: TokenStream(``), }, ], vis: Visibility::Public, @@ -241,10 +229,10 @@ fn test_enum() { generics: Generics { lt_token: Some, params: [ - Type(TypeParam { + GenericParam::Type(TypeParam { ident: "T", }), - Type(TypeParam { + GenericParam::Type(TypeParam { ident: "E", }), ], @@ -257,13 +245,12 @@ fn test_enum() { fields: Fields::Unnamed { unnamed: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ty: Type::Path { path: Path { segments: [ PathSegment { ident: "T", - arguments: None, }, ], }, @@ -277,13 +264,12 @@ fn test_enum() { fields: Fields::Unnamed { unnamed: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ty: Type::Path { path: Path { segments: [ PathSegment { ident: "E", - arguments: None, }, ], }, @@ -294,14 +280,14 @@ fn test_enum() { }, Variant { ident: "Surprise", - fields: Unit, + fields: Fields::Unit, discriminant: Some(Expr::Lit { lit: 0isize, }), }, Variant { ident: "ProcMacroHack", - fields: Unit, + fields: Fields::Unit, discriminant: Some(Expr::Field { base: Expr::Tuple { elems: [ @@ -313,7 +299,7 @@ fn test_enum() { }, ], }, - member: Unnamed(Index { + member: Member::Unnamed(Index { index: 0, }), }), @@ -323,11 +309,7 @@ fn test_enum() { } "###); - let meta_items: Vec<_> = input - .attrs - .into_iter() - .map(|attr| attr.parse_meta().unwrap()) - .collect(); + let meta_items: Vec<_> = input.attrs.into_iter().map(|attr| attr.meta).collect(); snapshot!(meta_items, @r###" [ @@ -336,64 +318,22 @@ fn test_enum() { segments: [ PathSegment { ident: "doc", - arguments: None, }, ], }, - lit: " See the std::result module documentation for details.", + value: Expr::Lit { + lit: " See the std::result module documentation for details.", + }, }, - Path(Path { + Meta::Path { segments: [ PathSegment { ident: "must_use", - arguments: None, }, ], - }), - ] - "###); -} - -#[test] -fn test_attr_with_path() { - let input = quote! { - #[::attr_args::identity - fn main() { assert_eq!(foo(), "Hello, world!"); }] - struct Dummy; - }; - - snapshot!(input as DeriveInput, @r###" - DeriveInput { - attrs: [ - Attribute { - style: Outer, - path: Path { - leading_colon: Some, - segments: [ - PathSegment { - ident: "attr_args", - arguments: None, - }, - PathSegment { - ident: "identity", - arguments: None, - }, - ], - }, - tokens: TokenStream(`fn main () { assert_eq ! (foo () , "Hello, world!") ; }`), - }, - ], - vis: Inherited, - ident: "Dummy", - generics: Generics, - data: Data::Struct { - fields: Unit, - semi_token: Some, }, - } + ] "###); - - assert!(input.attrs[0].parse_meta().is_err()); } #[test] @@ -403,33 +343,7 @@ fn test_attr_with_non_mod_style_path() { struct S; }; - snapshot!(input as DeriveInput, @r###" - DeriveInput { - attrs: [ - Attribute { - style: Outer, - path: Path { - segments: [ - PathSegment { - ident: "inert", - arguments: None, - }, - ], - }, - tokens: TokenStream(`< T >`), - }, - ], - vis: Inherited, - ident: "S", - generics: Generics, - data: Data::Struct { - fields: Unit, - semi_token: Some, - }, - } - "###); - - assert!(input.attrs[0].parse_meta().is_err()); + syn::parse2::<DeriveInput>(input).unwrap_err(); } #[test] @@ -443,45 +357,40 @@ fn test_attr_with_mod_style_path_with_self() { DeriveInput { attrs: [ Attribute { - style: Outer, - path: Path { + style: AttrStyle::Outer, + meta: Meta::Path { segments: [ PathSegment { ident: "foo", - arguments: None, }, PathSegment { ident: "self", - arguments: None, }, ], }, - tokens: TokenStream(``), }, ], - vis: Inherited, + vis: Visibility::Inherited, ident: "S", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } "###); - snapshot!(input.attrs[0].parse_meta().unwrap(), @r###" - Path(Path { + snapshot!(&input.attrs[0].meta, @r###" + Meta::Path { segments: [ PathSegment { ident: "foo", - arguments: None, }, PathSegment { ident: "self", - arguments: None, }, ], - }) + } "###); } @@ -500,7 +409,6 @@ fn test_pub_restricted() { segments: [ PathSegment { ident: "m", - arguments: None, }, ], }, @@ -517,11 +425,9 @@ fn test_pub_restricted() { segments: [ PathSegment { ident: "m", - arguments: None, }, PathSegment { ident: "n", - arguments: None, }, ], }, @@ -531,7 +437,6 @@ fn test_pub_restricted() { segments: [ PathSegment { ident: "u8", - arguments: None, }, ], }, @@ -546,25 +451,6 @@ fn test_pub_restricted() { } #[test] -fn test_vis_crate() { - let input = quote! { - crate struct S; - }; - - snapshot!(input as DeriveInput, @r###" - DeriveInput { - vis: Visibility::Crate, - ident: "S", - generics: Generics, - data: Data::Struct { - fields: Unit, - semi_token: Some, - }, - } - "###); -} - -#[test] fn test_pub_restricted_crate() { let input = quote! { pub(crate) struct S; @@ -577,7 +463,6 @@ fn test_pub_restricted_crate() { segments: [ PathSegment { ident: "crate", - arguments: None, }, ], }, @@ -585,7 +470,7 @@ fn test_pub_restricted_crate() { ident: "S", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } @@ -605,7 +490,6 @@ fn test_pub_restricted_super() { segments: [ PathSegment { ident: "super", - arguments: None, }, ], }, @@ -613,7 +497,7 @@ fn test_pub_restricted_super() { ident: "S", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } @@ -634,7 +518,6 @@ fn test_pub_restricted_in_super() { segments: [ PathSegment { ident: "super", - arguments: None, }, ], }, @@ -642,7 +525,7 @@ fn test_pub_restricted_in_super() { ident: "S", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } @@ -657,11 +540,11 @@ fn test_fields_on_unit_struct() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "S", generics: Generics, data: Data::Struct { - fields: Unit, + fields: Fields::Unit, semi_token: Some, }, } @@ -686,14 +569,14 @@ fn test_fields_on_named_struct() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "S", generics: Generics, data: Data::Struct { fields: Fields::Named { named: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ident: Some("foo"), colon_token: Some, ty: Type::Path { @@ -701,7 +584,6 @@ fn test_fields_on_named_struct() { segments: [ PathSegment { ident: "i32", - arguments: None, }, ], }, @@ -716,7 +598,6 @@ fn test_fields_on_named_struct() { segments: [ PathSegment { ident: "String", - arguments: None, }, ], }, @@ -736,7 +617,7 @@ fn test_fields_on_named_struct() { snapshot!(data.fields.into_iter().collect::<Vec<_>>(), @r###" [ Field { - vis: Inherited, + vis: Visibility::Inherited, ident: Some("foo"), colon_token: Some, ty: Type::Path { @@ -744,7 +625,6 @@ fn test_fields_on_named_struct() { segments: [ PathSegment { ident: "i32", - arguments: None, }, ], }, @@ -759,7 +639,6 @@ fn test_fields_on_named_struct() { segments: [ PathSegment { ident: "String", - arguments: None, }, ], }, @@ -777,20 +656,19 @@ fn test_fields_on_tuple_struct() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "S", generics: Generics, data: Data::Struct { fields: Fields::Unnamed { unnamed: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ty: Type::Path { path: Path { segments: [ PathSegment { ident: "i32", - arguments: None, }, ], }, @@ -803,7 +681,6 @@ fn test_fields_on_tuple_struct() { segments: [ PathSegment { ident: "String", - arguments: None, }, ], }, @@ -824,13 +701,12 @@ fn test_fields_on_tuple_struct() { snapshot!(data.fields.iter().collect::<Vec<_>>(), @r###" [ Field { - vis: Inherited, + vis: Visibility::Inherited, ty: Type::Path { path: Path { segments: [ PathSegment { ident: "i32", - arguments: None, }, ], }, @@ -843,7 +719,6 @@ fn test_fields_on_tuple_struct() { segments: [ PathSegment { ident: "String", - arguments: None, }, ], }, @@ -862,24 +737,22 @@ fn test_ambiguous_crate() { snapshot!(input as DeriveInput, @r###" DeriveInput { - vis: Inherited, + vis: Visibility::Inherited, ident: "S", generics: Generics, data: Data::Struct { fields: Fields::Unnamed { unnamed: [ Field { - vis: Inherited, + vis: Visibility::Inherited, ty: Type::Path { path: Path { segments: [ PathSegment { ident: "crate", - arguments: None, }, PathSegment { ident: "X", - arguments: None, }, ], }, |