object Test extends dotty.runtime.LegacyApp { case class Foo(x: Int, y: String) Foo(2, "3") match { case Foo(x, y) => println((x, y)) } case class FooSeq(x: Int, y: String, z: Boolean*) FooSeq(2, "3") match { case FooSeq(x, y) => println((x, y)) } FooSeq(2, "3", true, false, true) match { case FooSeq(x, y) => println("nope") case FooSeq(x, y, true, false, true) => println((x, y)) } FooSeq(1, "a", true, false, true) match { case FooSeq(1, "a") => println("nope") case FooSeq(1, "a", x:_* ) => println(x.toList) } }