File: t5914.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (23 lines) | stat: -rw-r--r-- 584 bytes parent folder | download | duplicates (4)
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
}