aboutsummaryrefslogtreecommitdiff
path: root/tests/run/t2087-and-2400.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/t2087-and-2400.scala')
-rw-r--r--tests/run/t2087-and-2400.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/run/t2087-and-2400.scala b/tests/run/t2087-and-2400.scala
new file mode 100644
index 000000000..19a5df26e
--- /dev/null
+++ b/tests/run/t2087-and-2400.scala
@@ -0,0 +1,20 @@
+object Test
+{
+ def negativeCharMaker = new (Short => Char) { def apply(x: Short) = x.toChar }
+ def main(args: Array[String]): Unit = {
+ // throws exception if -100 gets to Character.valueOf
+ val x = negativeCharMaker(-100)
+
+ // chars are unsigned, they should never be equal to negative values
+ assert((-100).toShort != (-100).toChar)
+ assert((-100).toChar != (-100).toShort)
+ assert((-100).toChar != (-100).toByte)
+ assert((-100).toByte != (-100).toChar)
+
+ // BoxesRunTime must agree as well
+ assert(((-100).toShort: Any) != (-100).toChar)
+ assert(((-100).toChar: Any) != (-100).toShort)
+ assert(((-100).toChar: Any) != (-100).toByte)
+ assert(((-100).toByte: Any) != (-100).toChar)
+ }
+}