summaryrefslogtreecommitdiff
path: root/test/files/run/Meter.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-02-13 00:02:39 +0100
committerMartin Odersky <odersky@gmail.com>2012-02-13 00:02:39 +0100
commit52c99f57ef41c436719818b8e3860e3bfbf023e2 (patch)
treec5146f24872b6bc70b65f2d64170d09450673ec5 /test/files/run/Meter.scala
parent7bcb1f2fc98eb870fcd52d3b01b3381e5ce0f8d1 (diff)
downloadscala-52c99f57ef41c436719818b8e3860e3bfbf023e2.tar.gz
scala-52c99f57ef41c436719818b8e3860e3bfbf023e2.tar.bz2
scala-52c99f57ef41c436719818b8e3860e3bfbf023e2.zip
All steps of value class proposal implemented. Most restrictions are now enforced. Super calls and specialized still missing.
Diffstat (limited to 'test/files/run/Meter.scala')
-rw-r--r--test/files/run/Meter.scala21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/files/run/Meter.scala b/test/files/run/Meter.scala
index 0c30ddd41e..5700025880 100644
--- a/test/files/run/Meter.scala
+++ b/test/files/run/Meter.scala
@@ -10,10 +10,29 @@ trait Printable extends Any { def print: Unit = Console.print(this) }
object Test extends App {
+ {
+ val x: Meter = new Meter(1)
+ val a: Object = x.asInstanceOf[Object]
+ val y: Meter = a.asInstanceOf[Meter]
+
+ val u: Double = 1
+ val b: Object = u.asInstanceOf[Object]
+ val v: Double = b.asInstanceOf[Double]
+ }
+
val x = new Meter(1)
+ val y = x
println((x + x) / x)
println((x + x) / 0.5)
println((x < x).toString)
-
+
+ println("x.hashCode: "+x.hashCode)
+ println("x == 1: "+(x == 1))
+ println("x == y: "+(x == y))
+ assert(x.hashCode == (1.0).hashCode)
+
+ val a: Any = x
+ val b: Any = y
+ println("a == b: "+(a == b))
}