E1021

E1021#

一些构造器的参数在模式中被省略。

错误示例#

enum E {
  A(Int, w~ : Int, h~ : Int)
}

fn main {
  match A(0, w=1, h=2) {
    A(v, w~) => { // Warning: The argument(s) h of constructor A are omitted.
      println(v)
      println(w)
    }
  }
}

建议#

如果你想省略一些参数,在模式的末尾添加 ..

fn main {
  match A(0, w=1, h=2) {
    A(v, w~, ..) => {
      println(v)
      println(w)
    }
  }
}

或者,你可以匹配所有参数:

fn main {
  match A(0, w=1, h=2) {
    A(v, w~, h~) => {
      println(v)
      println(w)
      println(h)
    }
  }
}