Rust Common Trait
Send trait
Sendtrait允许在线程间转移所有权
Send是一种标记trait,绝大部分Rust类型都实现了Send trait。Send通常不需要手动实现,只要完全由Send的类型组成的类型,自然也是Send的。
Sync trait
Synctrait允许在多线程中访问引用
Sync也是一种标记trait,对于某类型T,若T的不可变引用&T是Send的,则T是Sync的,即:&T: Send => T: Sync。此外,与Send一样,完全由Sync的类型组成的类型,也是Sync的。
Sized trait
Sizedtrait决定了一个类型的大小是否在编译时可知
Rust编译器自动为在编译时已知大小的类型实现Sized trait。此外,Rust还为每个泛型函数隐式的增加了Sized bound。对于动态大小类型,可以使用?Sized来覆盖默认规则以放宽限制,其中?Trait语法只能用于Sized trait。