summaryrefslogtreecommitdiff
path: root/test/junit
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-04-11 21:12:01 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2016-04-20 15:51:16 +0200
commitee3f4fe55740b27ecc0325b00452e62005d1759a (patch)
tree5e832c8a1bafd6101ab98757da410ca1d2ab095c /test/junit
parentd24e298cbd955101a6b4342602b32ed37643dfb0 (diff)
downloadscala-ee3f4fe55740b27ecc0325b00452e62005d1759a.tar.gz
scala-ee3f4fe55740b27ecc0325b00452e62005d1759a.tar.bz2
scala-ee3f4fe55740b27ecc0325b00452e62005d1759a.zip
Fix erasure for classOf[Unit], don't erase to classOf[BoxedUnit]
Diffstat (limited to 'test/junit')
-rw-r--r--test/junit/scala/issues/RunTest.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/junit/scala/issues/RunTest.scala b/test/junit/scala/issues/RunTest.scala
index 781f2ef343..0605947e63 100644
--- a/test/junit/scala/issues/RunTest.scala
+++ b/test/junit/scala/issues/RunTest.scala
@@ -147,4 +147,16 @@ class RunTest extends ClearAfterClass {
assertEquals(run[String](definitions("Object") + runCode), "hi" * 9)
assertEquals(run[String](definitions("String") + runCode), "hi" * 9) // bridge method for clone generated
}
+
+ @Test
+ def classOfUnitConstant(): Unit = {
+ val code =
+ """abstract class A { def f: Class[_] }
+ |class C extends A { final val f = classOf[Unit] }
+ |val c = new C
+ |(c.f, (c: A).f)
+ """.stripMargin
+ val u = Void.TYPE
+ assertEquals(run[(Class[_], Class[_])](code), (u, u))
+ }
}