1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
case class CaseSequenceTopLevel(as: Int*)
object Test {
def main(args: Array[String]): Unit = {
val buffer1 = collection.mutable.Buffer(0, 0)
CaseSequenceTopLevel(buffer1: _*) match {
case CaseSequenceTopLevel(_, i) =>
buffer1(1) = 1
assert(i == 0, i) // fails in 2.11.7 -optimize
}
case class CaseSequence(as: Int*)
val buffer2 = collection.mutable.Buffer(0, 0)
CaseSequence(buffer2: _*) match {
case CaseSequence(_, i) =>
buffer2(1) = 1
assert(i == 0, i)
}
case class CaseSequenceWithVar(var x: Any, as: Int*)
val buffer3 = collection.mutable.Buffer(0, 0)
CaseSequenceWithVar("", buffer3: _*) match {
case CaseSequenceWithVar(_, _, i) => // crashes in 2.11.7
buffer2(1) = 1
assert(i == 0, i)
}
}
}
|