diff options
Diffstat (limited to 'tests/pos/patternUnsoundness.scala')
-rw-r--r-- | tests/pos/patternUnsoundness.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/pos/patternUnsoundness.scala b/tests/pos/patternUnsoundness.scala new file mode 100644 index 000000000..4620f6c7d --- /dev/null +++ b/tests/pos/patternUnsoundness.scala @@ -0,0 +1,17 @@ +object patternUnsoundness extends App { + + class C[+T] + + case class D[S](_s: S) extends C[S] { + var s: S = _s + } + + val x = new D[String]("abc") + val y: C[Object] = x + + y match { + case d @ D(x) => d.s = new Integer(1) + } + + val z: String = x.s // ClassCast exception +} |