summaryrefslogblamecommitdiff
path: root/test/files/pos/unapply.scala
blob: 49f718135090287d4f5f630d0972d2d6a4d71f43 (plain) (tree)
1
2
3
4
5
6
7
8







                       


















                                            
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
   }
 }