aboutsummaryrefslogtreecommitdiff
path: root/tests/run/enum-Option.scala
blob: 76f5641b341836b314bdafd7651947e6959c0a81 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
enum class Option[+T >: Null] extends Serializable {
   def isDefined: Boolean
}
object Option {
  def apply[T >: Null](x: T): Option[T] = if (x == null) None else Some(x)
  case Some(x: T) {
     def isDefined = true
  }
  case None {
     def isDefined = false
  }
}

object Test {
  def main(args: Array[String]) = {
    assert(Some(None).isDefined)
    Option("22") match { case Option.Some(x) => assert(x == "22") }
  }
}