【问题标题】:Can the ? operator be defined for types other than Option and Result?可以吗?运算符是否为 Option 和 Result 以外的类型定义?
【发布时间】:2020-12-25 03:58:43
【问题描述】:

问号运算符 (?) 是为 Option 和 Result 类型定义的。是否可以为某些自定义类型重载它?我没有发现任何可能引导这种行为的特征。

【问题讨论】:

    标签: rust


    【解决方案1】:

    您要查找的特征称为std::ops::Carrier。但是,正如您所看到的,它是实验性的,并且引起了很多关于如何实施它的讨论(我相信它已经实验了几年了)。

    所以从技术上讲,你可以使用它,但最好不要依赖它,因为它的外观可能会改变,或者可以永久移除。

    【讨论】:

    • 谢谢!这正是我一直在寻找的。​​span>
    • std::ops::Try 已经有一段时间了,但语义没有改变,它仍然不是一个稳定的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2018-09-26
    • 2021-11-02
    • 2021-07-25
    • 2016-12-14
    • 2015-05-25
    相关资源
    最近更新 更多