E0005

未匹配的标注

用于绑定名称的模式必须是不可辩驳的,也就是说其必须保证在所有情况下,名称都能取得。

错误的代码示例:

let x = Some(1);
let Some(y) = x;
// error: refutable pattern in local binding: `None` 没有覆盖到。

如果你遇到了这种错误,你可能需要使用 matchif let 来处理这种失败的可能。 例如:


let x = Some(1);

match x {
    Some(y) => {
        // do something
    },
    None => {}
}

// 或者:

if let Some(y) = x {
    // do something
}

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/rust-rcei-2020/...

译文地址:https://learnku.com/docs/rust-rcei-2020/...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~