summaryrefslogtreecommitdiff
path: root/test/files/run/t5914.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/t5914.scala')
-rw-r--r--test/files/run/t5914.scala26
1 files changed, 20 insertions, 6 deletions
diff --git a/test/files/run/t5914.scala b/test/files/run/t5914.scala
index 53cae9be74..45d8815738 100644
--- a/test/files/run/t5914.scala
+++ b/test/files/run/t5914.scala
@@ -1,9 +1,23 @@
-import scala.reflect.runtime.universe._
+import scala.reflect.ClassTag
-object Test extends App {
- val tree: Tree = null
- tree match {
- case TypeTree() => println("lolwut")
- case null => println("correct")
+trait Trees {
+ class Tree
+ implicit val ttTag: ClassTag[TypeTree]
+ type TypeTree <: Tree
+ val TypeTree: TypeTreeExtractor
+ abstract class TypeTreeExtractor {
+ def unapply(t: TypeTree): Option[String]
}
+ def test(tree: Tree) =
+ tree match {
+ case TypeTree(_) => println("lolwut")
+ case null => println("correct")
+ }
+}
+
+object Test extends App with Trees {
+ val ttTag = implicitly[ClassTag[TypeTree]]
+ case class TypeTree(meh: String) extends Tree
+ object TypeTree extends TypeTreeExtractor
+ test(null) // should not crash
} \ No newline at end of file