diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-05-26 07:50:29 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-05-26 07:50:29 -0700 |
commit | 21a9d21941e41682de179027c047966bb0a35c8d (patch) | |
tree | 2aef2640572277ee9601083d9185f78c5bae76ab | |
parent | b53b71c100067f210a0f3bb4a6cbedee75e697dd (diff) | |
parent | e1e7a3a0b1edb15ab937cf47e14342f74cf2b913 (diff) | |
download | scala-21a9d21941e41682de179027c047966bb0a35c8d.tar.gz scala-21a9d21941e41682de179027c047966bb0a35c8d.tar.bz2 scala-21a9d21941e41682de179027c047966bb0a35c8d.zip |
Merge pull request #629 from retronym/ticket/4911
Test case closes SI-4911.
-rw-r--r-- | test/files/pos/t4911.flags | 1 | ||||
-rw-r--r-- | test/files/pos/t4911.scala | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/test/files/pos/t4911.flags b/test/files/pos/t4911.flags new file mode 100644 index 0000000000..779916d58f --- /dev/null +++ b/test/files/pos/t4911.flags @@ -0,0 +1 @@ +-unchecked -Xfatal-warnings
\ No newline at end of file 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 |