From 211c9620ba83de143ea4776f55a3e0c4de11d002 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Thu, 27 Sep 2012 10:20:45 -0700 Subject: Added logic and tests for unchecked refinements. --- test/files/neg/unchecked-refinement.check | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 test/files/neg/unchecked-refinement.check (limited to 'test/files/neg/unchecked-refinement.check') 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 -- cgit v1.2.3