【发布时间】:2020-12-25 03:58:43
【问题描述】:
问号运算符 (?) 是为 Option 和 Result 类型定义的。是否可以为某些自定义类型重载它?我没有发现任何可能引导这种行为的特征。
【问题讨论】:
标签: rust
问号运算符 (?) 是为 Option 和 Result 类型定义的。是否可以为某些自定义类型重载它?我没有发现任何可能引导这种行为的特征。
【问题讨论】:
标签: rust
您要查找的特征称为std::ops::Carrier。但是,正如您所看到的,它是实验性的,并且引起了很多关于如何实施它的讨论(我相信它已经实验了几年了)。
所以从技术上讲,你可以使用它,但最好不要依赖它,因为它的外观可能会改变,或者可以永久移除。
【讨论】:
std::ops::Try 已经有一段时间了,但语义没有改变,它仍然不是一个稳定的功能。