aboutsummaryrefslogblamecommitdiff
path: root/tests/run/enum-Option.scala
blob: 76f5641b341836b314bdafd7651947e6959c0a81 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                    


                         
                                                                          


                         
             




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