aboutsummaryrefslogtreecommitdiff
path: root/mingling_pathf/test
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-30 05:56:05 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-30 05:56:05 +0800
commit3888feded3cb83865d6161de642a1a298a7a5835 (patch)
tree9d4d29eddc13b350945c1ed35f3937a744b30349 /mingling_pathf/test
parent9dab47f47da4d6ae9333617d7ea6cbc077efdc67 (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')
-rw-r--r--mingling_pathf/test/src/lib.rs3
-rw-r--r--mingling_pathf/test/src/test_files/test_groupped_derive.rs17
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,
+ }
}