diff options
author | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-10-20 18:02:00 -0700 |
---|---|---|
committer | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-10-20 18:02:00 -0700 |
commit | 6daf9c642578c0af178075f5cc10e2a19c35e12a (patch) | |
tree | 3fda2b0dc88d6ad0091e58bce92a51978d25d367 /test/files | |
parent | 117bb2ac30a00f56e168f804a1561de1369ee944 (diff) | |
parent | 6ff9db6362c0b19c72b3b0ca2721367a85e13189 (diff) | |
download | scala-6daf9c642578c0af178075f5cc10e2a19c35e12a.tar.gz scala-6daf9c642578c0af178075f5cc10e2a19c35e12a.tar.bz2 scala-6daf9c642578c0af178075f5cc10e2a19c35e12a.zip |
Merge pull request #1509 from paulp/issue/6537
Fix for SI-6537, inaccurate unchecked warning.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/unchecked-knowable.check | 7 | ||||
-rw-r--r-- | test/files/neg/unchecked-knowable.scala | 4 | ||||
-rw-r--r-- | test/files/pos/t6537.flags | 1 | ||||
-rw-r--r-- | test/files/pos/t6537.scala | 16 |
4 files changed, 25 insertions, 3 deletions
diff --git a/test/files/neg/unchecked-knowable.check b/test/files/neg/unchecked-knowable.check index 3a6ef994b5..d279427327 100644 --- a/test/files/neg/unchecked-knowable.check +++ b/test/files/neg/unchecked-knowable.check @@ -1,4 +1,7 @@ -unchecked-knowable.scala:17: error: fruitless type test: a value of type Bippy cannot also be a A1 +unchecked-knowable.scala:18: error: fruitless type test: a value of type Bippy cannot also be a A1 /* warn */ (new Bippy).isInstanceOf[A1] ^ -one error found +unchecked-knowable.scala:19: error: fruitless type test: a value of type Bippy cannot also be a B1 + /* warn */ (new Bippy).isInstanceOf[B1] + ^ +two errors found diff --git a/test/files/neg/unchecked-knowable.scala b/test/files/neg/unchecked-knowable.scala index 667b47f504..21624c4fb4 100644 --- a/test/files/neg/unchecked-knowable.scala +++ b/test/files/neg/unchecked-knowable.scala @@ -7,6 +7,7 @@ final class A4 extends A2 /** Unknowable */ sealed abstract class B1 sealed abstract class B2 extends B1 +sealed trait B2B extends B1 final class B3 extends B1 trait B4 extends B2 @@ -15,6 +16,7 @@ trait Dingus class A { /* warn */ (new Bippy).isInstanceOf[A1] - /* nowarn */ (new Bippy).isInstanceOf[B1] + /* warn */ (new Bippy).isInstanceOf[B1] + /* nowarn */ (null: Dingus).isInstanceOf[B1] /* nowarn */ ((new Bippy): Any).isInstanceOf[A1] } diff --git a/test/files/pos/t6537.flags b/test/files/pos/t6537.flags new file mode 100644 index 0000000000..85d8eb2ba2 --- /dev/null +++ b/test/files/pos/t6537.flags @@ -0,0 +1 @@ +-Xfatal-warnings diff --git a/test/files/pos/t6537.scala b/test/files/pos/t6537.scala new file mode 100644 index 0000000000..d0ca3ba435 --- /dev/null +++ b/test/files/pos/t6537.scala @@ -0,0 +1,16 @@ +package tester + +object PatMatWarning { + + sealed trait X + sealed trait Y + + def f(x: X) = x match { + case _: Y => false + case _ => true + } + + class X1 extends X + class Y1 extends Y + class Z1 extends X with Y +} |