是问号运算符吗?相当于试试!宏?

ark*_*kod 26 operators rust

我正在寻找一种方法来链接try!Rust 中的宏的使用,并找到实现?运算符的拉取请求.

它似乎已合并,但我似乎无法找到任何文档.是等同于try!宏还是存在重要差异?

Chr*_*son 37

是的,?运营商相当于try!().?现在处于稳定的Rust 1.13,于2016年11月10日发布.

目前最好的文档来源似乎是RFC 0243.请注意,catchRFC中描述的内容尚未在本文(问题)中实现.

  • @MatthieuM.根据RFC,它做了相同的错误转换:'就像当前的try!()宏,?operator也将对异常类型执行隐式"upcast".但考虑到只有部分RFC已经实现,它会很好,以获得有关该语言实际内容的确切文档.:-) (2认同)
  • `?`使用了载体特征,因此,它的类型推断与使用`try!()`时略有不同; 后者是"结果"特定的. (2认同)