rust - Rust 的 where 子句中的特征可能有哪些运算符?

标签 rust traits method-signature type-signature

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

Rust 中的特征还允许使用哪些其他运算符?我进行了搜索,但找不到任何有关此的文档。 Rust 支持“或”符号、括号、否定吗?

最佳答案

'or' notation

没有。这样的事情对我来说没有意义——如果某件事可能是A,那么代码会做什么?或B

brackets

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

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

negation

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

other operators

There's the ? (question mark) bound .


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

关于rust - Rust 的 where 子句中的特征可能有哪些运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46779310/

相关文章:

rust - 如何将 SystemTime::now() 转换为整数类型?

compiler-errors - 为什么使用 f32::consts::E 会给出错误 E0223 但 std::f32::consts::E 不会?

Java - 是否可以使用方法签名输出堆栈跟踪?

oop - 设计问题 : pass the fields you use or pass the object?

rust - 使用不同的实现返回 Trait 实现

type-conversion - 通过 FFI 将 C99 `bool` 返回给 Rust 的正确类型是什么?

rust - 不能在其他文件 rust 中使用已实现的特征

rust - 为什么我会收到错误 "the trait ` Foo` is not implemented for `&mut T` “即使 T 实现了特征?

generics - 如何将值映射到 Rust 中的类型?

java - 重载解析,调用哪个方法