aboutsummaryrefslogtreecommitdiff
path: root/tests/run/enum-approx.scala
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2017-04-06 13:12:05 +0200
committerGitHub <noreply@github.com>2017-04-06 13:12:05 +0200
commit62c2a1e2d6265cf7f096e4c4e51e4e883bce1514 (patch)
tree5cd2f9018b4a5ed5fcd1ebe6a6aed392d3fd00b4 /tests/run/enum-approx.scala
parent2556c83a04af1baf9dd69f6139e9ea61d39e7c6a (diff)
parent30d8d878118c537ff82c88ef7ade8780b390bfae (diff)
downloaddotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.tar.gz
dotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.tar.bz2
dotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.zip
Merge pull request #1958 from dotty-staging/add-enum
Add "enum" construct
Diffstat (limited to 'tests/run/enum-approx.scala')
-rw-r--r--tests/run/enum-approx.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/run/enum-approx.scala b/tests/run/enum-approx.scala
new file mode 100644
index 000000000..7811b3909
--- /dev/null
+++ b/tests/run/enum-approx.scala
@@ -0,0 +1,22 @@
+enum class Fun[-T, +U >: Null] {
+ def f: T => U = null
+}
+object Fun {
+ case Identity[T, U >: Null](override val f: T => U) extends Fun[T, U]
+ case ConstNull {
+ override def f = x => null
+ }
+ case ConstNullClass() {
+ override def f = x => null
+ }
+ case ConstNullSimple
+}
+
+object Test {
+ def main(args: Array[String]) = {
+ val x: Null = Fun.ConstNull.f("abc")
+ val y: Null = Fun.ConstNullClass().f("abc")
+ assert(Fun.ConstNullSimple.f == null)
+ }
+}
+