E4147

E4147#

范围模式边界必须满足排序约束:

模式

约束

a..=b

a <= b

a..<b

a < b

错误示例#

fn main {
  let value = 1
  match value {
    0..<-10 => println("0..<-10")
  //^~~~~~~
  // Error: Range pattern `a..<b` must satisfy `a < b`.
    _ => println("_")
  }
}

建议#

请确保范围模式边界满足排序约束。这通常可以通过交换边界来实现。

fn main {
  let value = 1
  match value {
    -10..<0 => println("0..=10")
    _ => println("_")
  }
}