summaryrefslogtreecommitdiff
path: root/test/files/neg/unchecked-refinement.check
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-09-27 10:20:45 -0700
committerPaul Phillips <paulp@improving.org>2012-09-27 12:06:09 -0700
commit211c9620ba83de143ea4776f55a3e0c4de11d002 (patch)
tree512aee7cb40f51ff689b06c0224729bef56cb89f /test/files/neg/unchecked-refinement.check
parent690e4892297cb6bd1cfb1b6266036969f6aa17fe (diff)
downloadscala-211c9620ba83de143ea4776f55a3e0c4de11d002.tar.gz
scala-211c9620ba83de143ea4776f55a3e0c4de11d002.tar.bz2
scala-211c9620ba83de143ea4776f55a3e0c4de11d002.zip
Added logic and tests for unchecked refinements.
Diffstat (limited to 'test/files/neg/unchecked-refinement.check')
-rw-r--r--test/files/neg/unchecked-refinement.check13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/files/neg/unchecked-refinement.check b/test/files/neg/unchecked-refinement.check
new file mode 100644
index 0000000000..d81517464f
--- /dev/null
+++ b/test/files/neg/unchecked-refinement.check
@@ -0,0 +1,13 @@
+unchecked-refinement.scala:17: error: abstract type U in type pattern Foo[U,U,V] is unchecked since it is eliminated by erasure
+ /* warn */ case _: Foo[U, U, V] if b => ()
+ ^
+unchecked-refinement.scala:19: error: non-variable type argument Any in type pattern Foo[Any,U,V] is unchecked since it is eliminated by erasure
+ /* warn */ case _: Foo[Any, U, V] if b => ()
+ ^
+unchecked-refinement.scala:23: error: a pattern match on a refinement type is unchecked
+ /* nowarn - todo */ case x: AnyRef { def bippy: Int } if b => x.bippy // this could/should do an instance check and not warn
+ ^
+unchecked-refinement.scala:24: error: a pattern match on a refinement type is unchecked
+ /* nowarn - todo */ case x: AnyRef { def size: Int } if b => x.size // this could/should do a static conformance test and not warn
+ ^
+four errors found