summaryrefslogtreecommitdiff
path: root/test/files/pos/misc-unapply_pos.scala
blob: 6651e643620e6dbedd754e85dcf5d99ceed6965e (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
24
25
26
27
object Test {
  val xs = List(1)
  val f: Int = {
    xs match {
      case List(x) => x
    }
  }
}

// the following comes from ticket #230
trait Foo {
  def name: String
  def unapply(x: String): Option[Unit] = {
    if (x == name) Some(()) else None
  }
}
object Bar extends Foo { def name = "bar" }
object Baz extends Foo { def name = "baz" }

object Test_ {
  def matcher(s: String) = s match {
    case Bar(x) => println("bar")
    case Baz(x) => println("baz")
//                          ^
// error: unreachable code
   }
 }