Rust 中 where 子句中特征的可能运算符是什么?

What are the possible operators for traits in a where clause in Rust?

我正在学习 Rust 并学习了关于特征边界的章节。在该章中,他们给出了一个使用 +(加号)运算符的示例,用于枚举 where 子句中所有必需的特征。

Rust 中的特征还允许哪些其他操作符?我进行了搜索,但找不到有关此的任何文档。 Rust 是否支持 'or' 符号、括号、否定?

'or' notation

没有。这样的事情对我来说没有意义——如果某些东西可以是 AB?

,代码会做什么

brackets

没有,除非你算上Fn(...)和朋友中的括号,使用尖括号作为泛型(Vec<T>)或者在切片中使用方括号([u8]) , 但这些是类型的一部分。

同样,这样的要求对我来说没有意义,你为什么需要任何类型的分组?

negation

没有。我认为这是因为处理负逻辑会使事情变得更加复杂。

other operators

.


资料来源:我写过a parser of Rust code。虽然我可能遗漏了一些东西,但它解析了我扔给它的所有 ~37500 个 Rust 文件,所以它非常适合。