E0002

未匹配的标注

注意:编译器不再触发此错误码

该错误表明空匹配值是无效的,因为 match 的匹配类型必须是非空的(已存在的类型的值)。在安全代码中,不可能创建空类型的实例,因此几乎不需要空匹配表达式。此错误通常通过向匹配表达式添加一个或多个 情况(case) 来修复。

空类型的一个例子是 enum Empty { } , 所以以下的代码是生效的:

enum Empty {}

fn foo(x: Empty) {
    match x {
        // empty
    }
}

然而下面的这个却不行:

fn foo(x: Option<String>) {
    match x {
        // empty
    }
}

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

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

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

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

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


暂无话题~