From f27f5aeb09616b932ab48f0905994879dd8bafe5 Mon Sep 17 00:00:00 2001 From: Weicao-CatilGrass <1992414357@qq.com> Date: Sun, 17 May 2026 22:30:50 +0800 Subject: Rename `NextProcess` to `Next` across the codebase --- docs/_zh_CN/pages/1-creating-your-first-program.md | 12 ++++++------ docs/_zh_CN/pages/2-implementing-fallbacks.md | 2 +- docs/_zh_CN/pages/3-parsing-complex-arguments.md | 14 +++++++------- docs/pages/1-creating-your-first-program.md | 12 ++++++------ docs/pages/2-implementing-fallbacks.md | 2 +- docs/pages/3-parsing-complex-arguments.md | 14 +++++++------- 6 files changed, 28 insertions(+), 28 deletions(-) (limited to 'docs') diff --git a/docs/_zh_CN/pages/1-creating-your-first-program.md b/docs/_zh_CN/pages/1-creating-your-first-program.md index ae0fef5..efb9997 100644 --- a/docs/_zh_CN/pages/1-creating-your-first-program.md +++ b/docs/_zh_CN/pages/1-creating-your-first-program.md @@ -163,7 +163,7 @@ dispatcher!("greet", GreetCommand => GreetEntry); pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args .first() @@ -185,15 +185,15 @@ fn render_greet_someone(prev: ResultGreetSomeone) { 这样我们就在原本的 `Dispatcher` 和 `Renderer` 中间插入了一个 `Chain`:它可以将用户输入的参数提取出来(或回退到默认值 "World"),再交由渲染器打印到终端。 -##### 关于 `NextProcess` 💡 +##### 关于 `Next` 💡 - `NextProcess` 是由 `gen_program!()` 生成的占位符,在 `#[chain]` 展开后,它将被替换为调度器能识别的类型擦除类型 `ChainProcess`,用于减少代码量 + `Next` 是由 `gen_program!()` 生成的占位符,在 `#[chain]` 展开后,它将被替换为调度器能识别的类型擦除类型 `ChainProcess`,用于减少代码量 > [!NOTE] > -> `NextProcess` 方案为临时替代,下一次更新需要等待 Rust 的 `Impl In Type Aliases` 特性稳定后。 +> `Next` 方案为临时替代,下一次更新需要等待 Rust 的 `Impl In Type Aliases` 特性稳定后。 > -> **不过,您不用担心**:下一次 `NextProcess` 的更新不会引入 **破坏性变更!** +> **不过,您不用担心**:下一次 `Next` 的更新不会引入 **破坏性变更!** ##### 关于 `pack!` 💡 @@ -227,7 +227,7 @@ dispatcher!("greet", GreetCommand => GreetEntry); pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); diff --git a/docs/_zh_CN/pages/2-implementing-fallbacks.md b/docs/_zh_CN/pages/2-implementing-fallbacks.md index e4fd3f8..b57a9e7 100644 --- a/docs/_zh_CN/pages/2-implementing-fallbacks.md +++ b/docs/_zh_CN/pages/2-implementing-fallbacks.md @@ -97,7 +97,7 @@ fn main() { pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); diff --git a/docs/_zh_CN/pages/3-parsing-complex-arguments.md b/docs/_zh_CN/pages/3-parsing-complex-arguments.md index 4ee9cec..1fe78da 100644 --- a/docs/_zh_CN/pages/3-parsing-complex-arguments.md +++ b/docs/_zh_CN/pages/3-parsing-complex-arguments.md @@ -29,7 +29,7 @@ mingling = { ```rust #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { // 前文中使用的方式: // let args = prev.inner; // let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); @@ -118,7 +118,7 @@ pack!(ResultGreetSomeone = String); pack!(ErrorGreetNoNameProvided = ()); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { // 使用 `pick_or_route` 提取 `--name` 参数 // 如果不存在或解析失败,则路由到 ErrorGreetNoNameProvided let pick_result = prev @@ -167,7 +167,7 @@ let name = match pick_result { ```rust #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let name = prev .pick_or(["--name", "-n"], "World") // 在提取出 `--name` 后,立刻对其进行格式化 @@ -192,7 +192,7 @@ pack!(ResultGreetSomeone = String); pack!(ErrorGreetNameTooLong = usize); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let pick_result = prev .pick_or(["--name", "-n"], "World") // 和 `after` 不同,此处传入的是 &String @@ -244,7 +244,7 @@ fn render_greet_someone(prev: ResultGreetSomeone) { ```rust #[chain] -fn handle_some_entry(prev: SomeEntry) -> NextProcess { +fn handle_some_entry(prev: SomeEntry) -> Next { let confirmed: bool = prev.pick::(()).unpack().is_yes(); let confirm: bool = prev.pick::(["--confirm", "-C"]).unpack(); @@ -301,7 +301,7 @@ dispatcher!("connect", ConnectCommand => ConnectEntry); pack!(ResultConnected = Address); #[chain] -fn handle_connect_entry(prev: ConnectEntry) -> NextProcess { +fn handle_connect_entry(prev: ConnectEntry) -> Next { let address: Address = prev.pick("--addr").unpack(); ResultConnected::new(address) } @@ -346,7 +346,7 @@ impl PickableEnum for Fruits {} pack!(ResultFruit = Fruits); #[chain] -fn handle_eat_fruit_entry(prev: EatFruitEntry) -> NextProcess { +fn handle_eat_fruit_entry(prev: EatFruitEntry) -> Next { let fruit: Fruits = prev.pick("--fruit").unpack(); ResultFruit::new(fruit) } diff --git a/docs/pages/1-creating-your-first-program.md b/docs/pages/1-creating-your-first-program.md index 0a6ff3c..56b7b90 100644 --- a/docs/pages/1-creating-your-first-program.md +++ b/docs/pages/1-creating-your-first-program.md @@ -163,7 +163,7 @@ dispatcher!("greet", GreetCommand => GreetEntry); pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args .first() @@ -185,15 +185,15 @@ fn render_greet_someone(prev: ResultGreetSomeone) { This inserts a `Chain` between the original `Dispatcher` and `Renderer`: it extracts the user's input params (or falls back to "World"), then passes them to the renderer to print to the terminal. -##### About `NextProcess` 💡 +##### About `Next` 💡 - `NextProcess` is a placeholder generated by `gen_program!()`. After `#[chain]` expands, it's replaced by a type-erased type `ChainProcess` that the dispatcher can recognize, helping reduce boilerplate code. + `Next` is a placeholder generated by `gen_program!()`. After `#[chain]` expands, it's replaced by a type-erased type `ChainProcess` that the dispatcher can recognize, helping reduce boilerplate code. > [!NOTE] > -> `NextProcess` is a temporary solution; the next update will wait until Rust's `Impl In Type Aliases` feature is stable. +> `Next` is a temporary solution; the next update will wait until Rust's `Impl In Type Aliases` feature is stable. > -> **But don't worry**: the next `NextProcess` update won't introduce **breaking changes!** +> **But don't worry**: the next `Next` update won't introduce **breaking changes!** ##### About `pack!` 💡 @@ -227,7 +227,7 @@ dispatcher!("greet", GreetCommand => GreetEntry); pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); diff --git a/docs/pages/2-implementing-fallbacks.md b/docs/pages/2-implementing-fallbacks.md index 685d238..3f3cb93 100644 --- a/docs/pages/2-implementing-fallbacks.md +++ b/docs/pages/2-implementing-fallbacks.md @@ -97,7 +97,7 @@ fn main() { pack!(ResultGreetSomeone = String); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let args = prev.inner; let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); diff --git a/docs/pages/3-parsing-complex-arguments.md b/docs/pages/3-parsing-complex-arguments.md index b48b28b..141c571 100644 --- a/docs/pages/3-parsing-complex-arguments.md +++ b/docs/pages/3-parsing-complex-arguments.md @@ -29,7 +29,7 @@ mingling = { ```rust #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { // Prev. approach: // let args = prev.inner; // let name = args.first().cloned().unwrap_or_else(|| "World".to_string()); @@ -118,7 +118,7 @@ pack!(ResultGreetSomeone = String); pack!(ErrorGreetNoNameProvided = ()); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { // Use `pick_or_route` to extract the `--name` arg // If missing or parse fails, route to ErrorGreetNoNameProvided let pick_result = prev @@ -167,7 +167,7 @@ let name = match pick_result { ```rust #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let name = prev .pick_or(["--name", "-n"], "World") // After extracting `--name`, format it immediately @@ -192,7 +192,7 @@ pack!(ResultGreetSomeone = String); pack!(ErrorGreetNameTooLong = usize); #[chain] -fn handle_greet_entry(prev: GreetEntry) -> NextProcess { +fn handle_greet_entry(prev: GreetEntry) -> Next { let pick_result = prev .pick_or(["--name", "-n"], "World") // Unlike `after`, this borrows &String @@ -244,7 +244,7 @@ fn render_greet_someone(prev: ResultGreetSomeone) { ```rust #[chain] -fn handle_some_entry(prev: SomeEntry) -> NextProcess { +fn handle_some_entry(prev: SomeEntry) -> Next { let confirmed: bool = prev.pick::(()).unpack().is_yes(); let confirm: bool = prev.pick::(["--confirm", "-C"]).unpack(); @@ -301,7 +301,7 @@ dispatcher!("connect", ConnectCommand => ConnectEntry); pack!(ResultConnected = Address); #[chain] -fn handle_connect_entry(prev: ConnectEntry) -> NextProcess { +fn handle_connect_entry(prev: ConnectEntry) -> Next { let address: Address = prev.pick("--addr").unpack(); ResultConnected::new(address) } @@ -346,7 +346,7 @@ impl PickableEnum for Fruits {} pack!(ResultFruit = Fruits); #[chain] -fn handle_eat_fruit_entry(prev: EatFruitEntry) -> NextProcess { +fn handle_eat_fruit_entry(prev: EatFruitEntry) -> Next { let fruit: Fruits = prev.pick("--fruit").unpack(); ResultFruit::new(fruit) } -- cgit