相关疑难解决方法(0)

使用非文字模式时,为什么此匹配模式无法访问?

以下代码(游乐场)

let max_column = 7;
edge = match current_column {
    0 => Edge::Left,
    max_column => Edge::Right,
    _ => Edge::NotAnEdge
};
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

warning: unreachable pattern
  --> src/main.rs:10:9
   |
9  |         max_column => Edge::Right,
   |         ---------- matches any value
10 |         _ => Edge::NotAnEdge
   |         ^ unreachable pattern
   |
   = note: #[warn(unreachable_patterns)] on by default
Run Code Online (Sandbox Code Playgroud)

max_column用文字替换变量可以正常工作:

let max_column = 7;
edge = match current_column {
    0 => Edge::Left,
    7 => Edge::Right,
    _ => Edge::NotAnEdge
};
Run Code Online (Sandbox Code Playgroud)

为什么_在第一个示例中无法访问任何值current_column …

rust

16
推荐指数
1
解决办法
1347
查看次数

标签 统计

rust ×1