Skip to content

Commit

Permalink
Merge pull request #1 from overheat/master
Browse files Browse the repository at this point in the history
fix typo
  • Loading branch information
chuxiuhong authored Jan 10, 2022
2 parents 5385636 + 846e0ef commit 4e8225d
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion idioms/deref.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ See also `String` and `&str`.

智能指针和数据集合有相似之处:一个智能指针指向一个对象,一个集合指向许多个对象。从类型系统的角度来看二者有一点区别。一个数据集合拥有数据所有权,也负责删除数据。(包括共享数据所有权,一些借用可能是占用数据的)。一个数据集合如果拥有数据,那么通常来说会提供一个数据的借用方法以便多方使用数据。

大多数智能指针(如 `Foo<T>`)实现了`Deref<Target=T>`特性。然而数据集合尝尝解引用为一个自定义类型`[T]``str`类型有一些语言支持,
大多数智能指针(如 `Foo<T>`)实现了`Deref<Target=T>`特性。然而数据集合常常解引用为一个自定义类型`[T]``str`类型有一些语言支持,
但是通常情况下,这不是必要的。即使`Bar`时一个动态大小的类型时,`Foo<T>`也可以实现`Deref<Target=Bar<T>>`
并且`&Bar<T>` 是借用`Foo<T>`类型数据。

Expand Down
2 changes: 1 addition & 1 deletion idioms/mem-replace.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ fn swizzle(e: &mut MultiVariateEnum) {

## 缺点

这会变得优点啰嗦。如果错误地重复这个操作将会让你厌恶借用检查器。编译器将无法对替换操作优化,结果是让你觉得相比其他不安全的语言来说性能更低。
这会变得有点啰嗦。如果错误地重复这个操作将会让你厌恶借用检查器。编译器将无法对替换操作优化,结果是让你觉得相比其他不安全的语言来说性能更低。

此外,`take`操作需要类型实现[`Default`](./default.md)特性。然而,如果这个类型没有实现`Default`特性,你还是可以用 `mem::replace`

Expand Down

0 comments on commit 4e8225d

Please sign in to comment.