这是RFC 19中描述的特征的否定特征实现。Send
总结:Send
trait是auto trait,这意味着它会自动针对仅包含其他Send
类型的所有类型实现:
unsafe auto trait Send {}
(Send
也是一个不安全的特征,这意味着实现它是不安全的,但这与问题无关。)
的auto
性状可以没有定义的任何方法,这也使得它一个标记性状。(定义自动特征的语法目前仅在标准库或每夜编译器中可用,但其语义是稳定的。)
要选择退出的自动实现Send
,您必须编写一个明确的负面特征实现:
impl !Send for MyType {}
这意味着即使MyType
只包含其他类型Send
,MyType
它本身也不会自动实现Send
。
另请参见另一个问题的答案:Rust中的自动特征是什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句