diff --git a/src/SUMMARY.md b/src/SUMMARY.md index ea1a27a..aa33028 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -125,7 +125,7 @@ - [附录](appendix-00.md) - [A - 关键字](appendix-01-keywords.md) - [B - 运算符与符号](appendix-02-operators.md) - - [C - 可导出的 trait](appendix-03-derivable-traits.md) + - [C - 可派生的 trait](appendix-03-derivable-traits.md) - [D - 宏](appendix-04-macros.md) - [E - 本书翻译](appendix-05-translation.md) - [F - 最新功能](appendix-06-newest-features.md) diff --git a/src/appendix-02-operators.md b/src/appendix-02-operators.md index 685d5f6..c69f64e 100644 --- a/src/appendix-02-operators.md +++ b/src/appendix-02-operators.md @@ -94,25 +94,15 @@ 表 B-3: 路径相关语法 | 符号 | 解释 | - |--------|-------------| - | `ident::ident` | 命名空间路径 | - | `::path` | 与crate根相关的路径(如一个明确的绝对路径) | - | `self::path` | 当前模块相关路径(如一个明确相关路径)| - | `super::path` | 父模块相关路径 | - | `type::ident`, `::ident` | 相关常量、函数以及类型 | - | `::...` | 不可以被直接命名的相关项类型(如 `<&T>::...`,`<[T]>::...`, 等) | - | `trait::method(...)` | 通过命名定义的 trait 来消除方法调用的二义性 | - | `type::method(...)` | 通过命名定义的类型来消除方法调用的二义性 | - | `::method(...)` | 通过命名 trait 和类型来消除方法调用的二义性 | @@ -123,7 +113,7 @@ | 符号 | 解释 | |--------|-------------| | `path<...>` | 为一个类型中的泛型指定具体参数(如 `Vec`) | -| `path::<...>`, `method::<...>` | 为一个泛型、函数或表达式中的方法指定具体参数,通常指 [turbofish](https://matematikaadit.github.io/posts/rust-turbofish.html) (如 `"42".parse::()`)| +| `path::<...>`, `method::<...>` | 为一个泛型、函数或表达式中的方法指定具体参数,通常指 [turbofish][turbofish] (如 `"42".parse::()`)| | `fn ident<...> ...` | 泛型函数定义 | | `struct ident<...> ...` | 泛型结构体定义 | | `enum ident<...> ...` | 泛型枚举定义 | @@ -131,6 +121,8 @@ | `for<...> type` | 高级生命周期限制 | | `type` | 泛型,其一个或多个相关类型必须被指定为特定类型(如 `Iterator`)| +[turbofish]: https://matematikaadit.github.io/posts/rust-turbofish.html + Table B-5 展示了出现在使用 trait bounds 约束泛型参数上下文中的符号。 表 B-5: Trait Bound 约束