相关疑难解决方法(0)

此错误消息是否意味着我可以在for循环中使用模式匹配?

我不希望以下代码工作,但作为语法探索的一部分,我在操场上尝试:

fn main() {
    struct EOF {};
    let lines = vec![Ok("line 1"), Ok("line 2"), Err(EOF {})];
    for Ok(line) in lines {
        println!("{}", line);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息是

error[E0005]: refutable pattern in `for` loop binding: `Err(_)` not covered
 --> src/main.rs:4:9
  |
4 |     for Ok(line) in lines {
  |         ^^^^^^^^ pattern `Err(_)` not covered
Run Code Online (Sandbox Code Playgroud)

根据上面的消息,看起来我只需要为Err案例添加一个匹配臂.但这样做的正确语法是什么?

rust

14
推荐指数
2
解决办法
1174
查看次数

标签 统计

rust ×1