aboutsummaryrefslogtreecommitdiff
path: root/tests/run/enum-Option.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/enum-Option.scala')
-rw-r--r--tests/run/enum-Option.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/run/enum-Option.scala b/tests/run/enum-Option.scala
new file mode 100644
index 000000000..76f5641b3
--- /dev/null
+++ b/tests/run/enum-Option.scala
@@ -0,0 +1,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") }
+ }
+}