特质实施中的感叹号是什么意思?

轻率地

我在库参考中找到了std::rc::Rc特质实现

impl<T> !Send for Rc<T> 
where
    T: ?Sized, 

前面的感叹号Send是什么意思?

我同时查阅了Rust编程语言¹和Rust参考²,但没有找到解释。请在回答中提供参考。


¹ 特别是[第3.19 特质
² 和第5.1特质5.1实现

轻率地

这是RFC 19中描述特征否定特征实现Send

总结:Sendtrait是auto trait,这意味着它会自动针对仅包含其他Send类型的所有类型实现

unsafe auto trait Send {}

Send也是一个不安全的特征,这意味着实现它是不安全的,但这与问题无关。)

auto性状可以没有定义的任何方法,这也使得它一个标记性状(定义自动特征的语法目前仅在标准库或每夜编译器中可用,但其语义是稳定的。)

要选择退出的自动实现Send,您必须编写一个明确的负面特征实现:

impl !Send for MyType {}

这意味着即使MyType只包含其他类型SendMyType它本身也不会自动实现Send

另请参见另一个问题的答案:Rust中的自动特征是什么?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Haskell声明中,感叹号是什么意思?

linux中感叹号是什么意思?

udev规则中的感叹号是什么意思?

diff输出中的感叹号是什么意思?

以下bash命令中的!#(感叹号哈希),!$:r:r(感叹号美元冒号r),!#:t(感叹号冒号冒号t)是什么意思?

在Swift语言中,感叹号是什么意思?

SASS导入后的感叹号是什么意思?

这里的感叹号是什么意思

Windows 8.1 Mail App中的感叹号是什么意思?

JavaScript中变量后的感叹号是什么意思?

Eclipse中的红色感叹号图标是什么意思?

在C#8.0中调用方法之前,感叹号是什么意思?

Android Studio:设备下拉列表中的红色感叹号是什么意思?

布局文件中的红色感叹号是什么意思?

“ git show-branch”中的感叹号是什么意思?

!(感叹号)在javascript中之前和之后是什么意思?

Jupyter笔记本中的感叹号和问号是什么意思?

Eclipse中的红色感叹号图标是什么意思?(图标在右侧,而不是左侧)

实习生定义中的感叹号是什么意思?

在班级名称前面的播放测试图标附近,感叹号是什么意思。浓咖啡。测试中

在函数调用之前,感叹号是什么意思?

单元格引用之前的感叹号是什么意思?

ES6进口-感叹号是什么意思?

函数名称后的感叹号是什么意思?

linux命令中方括号后跟感叹号是什么意思?

Fsharp / FAKE中的双感叹号(!!)是什么?

感叹号在对象表示中的含义是什么

什么是 !!(双感叹号)在 YAML 中?

Ruby中GraphQL类型的字段定义中的感叹号的目的是什么?