summaryrefslogtreecommitdiff
path: root/test/files/pos/t4911.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-05-26 13:13:00 +0200
committerJason Zaugg <jzaugg@gmail.com>2012-05-26 13:13:00 +0200
commite1e7a3a0b1edb15ab937cf47e14342f74cf2b913 (patch)
tree2aef2640572277ee9601083d9185f78c5bae76ab /test/files/pos/t4911.scala
parentb53b71c100067f210a0f3bb4a6cbedee75e697dd (diff)
downloadscala-e1e7a3a0b1edb15ab937cf47e14342f74cf2b913.tar.gz
scala-e1e7a3a0b1edb15ab937cf47e14342f74cf2b913.tar.bz2
scala-e1e7a3a0b1edb15ab937cf47e14342f74cf2b913.zip
Test case closes SI-4911.
The unchecked warning departed sometime between 4afae5be...278a225.
Diffstat (limited to 'test/files/pos/t4911.scala')
-rw-r--r--test/files/pos/t4911.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/pos/t4911.scala b/test/files/pos/t4911.scala
new file mode 100644
index 0000000000..66c867a37f
--- /dev/null
+++ b/test/files/pos/t4911.scala
@@ -0,0 +1,16 @@
+import language._
+
+object Test {
+ class Foo[T](val x: T) ; object Foo { def unapply[T](x: Foo[T]) = Some(x.x) }
+ def f1[T](x: Foo[T]) = x match { case Foo(y) => y }
+ def f2[M[_], T](x: M[T]) = x match { case Foo(y) => y }
+
+ case class Bar[T](x: T)
+ def f3[T](x: Bar[T]) = x match { case Bar(y) => y }
+ def f4[M[_], T](x: M[T]) = x match { case Bar(y) => y }
+}
+//
+// ./b.scala:4: warning: non variable type-argument T in type pattern Test.Foo[T] is unchecked since it is eliminated by erasure
+// def f2[M[_], T](x: M[T]) = x match { case Foo(y) => y }
+// ^
+// one warning found \ No newline at end of file