diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-30 05:56:05 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-30 05:56:05 +0800 |
| commit | 3888feded3cb83865d6161de642a1a298a7a5835 (patch) | |
| tree | 9d4d29eddc13b350945c1ed35f3937a744b30349 /mingling_pathf/test/src | |
| parent | 9dab47f47da4d6ae9333617d7ea6cbc077efdc67 (diff) | |
fix: parse grouped derive attributes for enums and unions correctly
Use `parse_args_with` with `Punctuated<Path, Comma>` to correctly
identify `Groupped` and `GrouppedSerialize` derive macros, fixing a
bug where enums and unions were not properly detected
Diffstat (limited to 'mingling_pathf/test/src')
| -rw-r--r-- | mingling_pathf/test/src/lib.rs | 3 | ||||
| -rw-r--r-- | mingling_pathf/test/src/test_files/test_groupped_derive.rs | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/mingling_pathf/test/src/lib.rs b/mingling_pathf/test/src/lib.rs index f25b094..824cbbf 100644 --- a/mingling_pathf/test/src/lib.rs +++ b/mingling_pathf/test/src/lib.rs @@ -233,8 +233,11 @@ fn test_groupped_derive_analyze() { "::Derived1", "::Derived2", "::Derived3", + "::EnumDerived1", + "::EnumDerived2", "::sub::Derived1", "::sub::Derived3", + "::sub::EnumDerived1", ]; assert_eq!(r.len(), required.len()); diff --git a/mingling_pathf/test/src/test_files/test_groupped_derive.rs b/mingling_pathf/test/src/test_files/test_groupped_derive.rs index f6c6fa9..913587c 100644 --- a/mingling_pathf/test/src/test_files/test_groupped_derive.rs +++ b/mingling_pathf/test/src/test_files/test_groupped_derive.rs @@ -13,6 +13,18 @@ struct Derived3 { value: bool, } +#[derive(Groupped)] +enum EnumDerived1 { + A, + B, +} + +#[derive(GrouppedSerialize)] +enum EnumDerived2 { + X(String), + Y(i32), +} + pub mod sub { #[derive(Groupped)] struct Derived1 { @@ -23,4 +35,9 @@ pub mod sub { struct Derived3 { value: bool, } + + #[derive(Groupped)] + enum EnumDerived1 { + A, + } } |
