Mar*_*iro 5 operator-precedence rust
假设f()并g()返回Option<T>.
if let (Some(x), Some(y)) = (f(), g()) {
h();
}
Run Code Online (Sandbox Code Playgroud)
如果f()退货None,会g()被评估吗?规范是否保证或禁止评估?
它没有捷径.抵靠一对模式匹配,一对必须被完全构造的,这意味着既f与g已被调用.没有延迟评估,模式匹配可能在计算值之前发生.
(顺便说一句,它很容易尝试,而Rust编译器现在几乎就是规范.)
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |