summaryrefslogtreecommitdiff
path: root/test/files/run/t5914.scala
blob: 45d8815738ba85b7d5a4555e8b0a3831617bd229 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import scala.reflect.ClassTag

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
}