aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-04-25 21:06:12 +0800
committer魏曹先生 <1992414357@qq.com>2026-04-25 21:06:12 +0800
commit87bbc88548a4dadbc04998732de4cabfc93f3524 (patch)
treebf5f83f33213e835e401e9570fd1932eabb3f3ba /CHANGELOG.md
parent26e6d3a81af0ab54c63386d68a155d2f5907c137 (diff)
Refactor picker to return single values instead of single-element tuples
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md29
1 files changed, 26 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ce51fec..6dee222 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,9 +13,32 @@
#### **BREAKING CHANGES**:
-1. Removed macro `dispatcher_render!` from `mingling_macros`
-2. The `<..., Group>` in `Program<Collect, Group>` no longer requires `std::fmt::Display`
-3. Changed `Program<Collect, Group>` to `Program<Collect>` (merged the Group and Collect types)
+1. **\[macros\]** Removed macro `dispatcher_render!` from `mingling_macros`
+2. **\[core\]** The `<..., Group>` in `Program<Collect, Group>` no longer requires `std::fmt::Display`
+3. **\[core\]** Changed `Program<Collect, Group>` to `Program<Collect>` (merged the Group and Collect types)
+4. **\[picker\]** When performing `unpack` or `unpack_directly` on the result of the first `pick` of `Picker`, it no longer returns a tuple
+
+```rust
+// Before
+#[chain]
+fn parse_sth(prev: SomeEntry) -> NextProcess {
+ let str: String = Picker::<()>::new(prev.inner)
+ .pick_or((), "None")
+ .unpack_directly().0;
+ let parsed = Something::new(ok);
+ parsed
+}
+
+// Now
+#[chain]
+fn parse_sth(prev: SomeEntry) -> NextProcess {
+ let str: String = Picker::<()>::new(prev.inner)
+ .pick_or((), "None")
+ .unpack_directly(); // Directly return the type instead of a tuple
+ let parsed = Something::new(ok);
+ parsed
+}
+```
---