Fix: 位于冒号后面而不是分号

This commit is contained in:
Xu Qiaolun 2019-06-06 03:20:49 +08:00
parent 21d5b025b7
commit b57e74f077

View File

@ -196,7 +196,7 @@ pub fn notify<T: Summary>(item: T) {
}
```
这与之前的例子相同不过稍微冗长了一些。trait bound 与泛型参数声明在一起,位于尖括号中分号的后面。因为 `T` 的 trait bound我们可以传递任何 `NewsArticle``Tweet` 的实例调用 `notify`。用任何其他类型,比如 `String``i32`,调用该函数的代码将不能编译,因为这些类型没有实现 `Summary`
这与之前的例子相同不过稍微冗长了一些。trait bound 与泛型参数声明在一起,位于尖括号中的冒号后面。因为 `T` 的 trait bound我们可以传递任何 `NewsArticle``Tweet` 的实例调用 `notify`。用任何其他类型,比如 `String``i32`,调用该函数的代码将不能编译,因为这些类型没有实现 `Summary`
何时应该使用这种形式而不是 `impl Trait` 呢?虽然 `impl Trait` 适用于短小的例子trait bound 则适用于更复杂的场景。例如,比如需要获取两个实现了 `Summary` 的类型: