From 13f2770d656443cef32c322e0356128344aff424 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 24 Jul 2021 12:32:31 +0800 Subject: [PATCH] Update ch19-04-advanced-types.md --- src/ch19-04-advanced-types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch19-04-advanced-types.md b/src/ch19-04-advanced-types.md index 7c8b454..fd61169 100644 --- a/src/ch19-04-advanced-types.md +++ b/src/ch19-04-advanced-types.md @@ -200,7 +200,7 @@ Rust 需要知道应该为特定类型的值分配多少内存,同时所有同 可以将 `str` 与所有类型的指针结合:比如 `Box` 或 `Rc`。事实上,之前我们已经见过了,不过是另一个动态大小类型:trait。每一个 trait 都是一个可以通过 trait 名称来引用的动态大小类型。在第十七章 [“为使用不同类型的值而设计的 trait 对象”][using-trait-objects-that-allow-for-values-of-different-types] 部分,我们提到了为了将 trait 用于 trait 对象,必须将他们放入指针之后,比如 `&dyn Trait` 或 `Box`(`Rc` 也可以)。 -为了处理 DST,Rust 有一个特定的 trait 来决定一个类型的大小是否在编译时可知:这就是 `Sized` trait。这个 trait 自动为编译器在编译时就知道大小的类型实现。另外,Rust 隐式的为每一个泛型函数增加了 `Sized` bound。也就是说,对于如下泛型函数定义: +为了处理 DST,Rust 有一个特定的 trait 来确定一个类型的大小是否在编译时可知:这就是 `Sized` trait。这个 trait 自动为编译器在编译时就知道其大小的类型实现。另外,Rust 隐式的为每一个泛型函数增加了 `Sized` bound。也就是说,对于如下泛型函数定义: ```rust,ignore fn generic(t: T) {