diff options
Diffstat (limited to 'tests/untried/neg/patmat-classtag-compound.scala')
-rw-r--r-- | tests/untried/neg/patmat-classtag-compound.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/untried/neg/patmat-classtag-compound.scala b/tests/untried/neg/patmat-classtag-compound.scala new file mode 100644 index 000000000..e2d0df0a0 --- /dev/null +++ b/tests/untried/neg/patmat-classtag-compound.scala @@ -0,0 +1,17 @@ +object Test extends App{ + trait Bar + trait Foo + // Failed to give an unchecked warning pre: https://github.com/scala/scala/pull/2848 + // + // Features interacting: + // - implicit class tags to enable type patterns on abstract types + // - type tests on compound types. + // + // We could try make these work together, but an unchecked warning is okay for now. + def x[A: reflect.ClassTag](a: Any): Boolean = a match{ + case b: A with Bar => true + case _ => false + } + println(x[Foo](new Bar{})) + println(x[String]("")) +} |