E3019

E3019#

包含的范围模式 a..=b 的上界不能是 _

书写 a..=_ 没有意义,因为 _ 是一个通配符,可以匹配任何值。”等于任何值” 的含义不明确。如果你想表达 “大于或等于 a” 的含义,你可以使用 a..<_

错误示例#

fn main {
  match 0 {
    0..=_ => println("Big than or equal to 0")
    //  ^
    // Error: Inclusive range pattern `a..=b` cannot have `_` as upper bound
    _ => println("Less than 0")
  }
}

建议#

= 替换为 <

fn main {
  match 0 {
    0..<_ => println("Big than or equal to 0")
    _ => println("Less than 0")
  }
}