summaryrefslogblamecommitdiff
path: root/test/files/pos/misc-unapply_pos.scala
blob: 6651e643620e6dbedd754e85dcf5d99ceed6965e (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
   }
 }