summaryrefslogtreecommitdiff
path: root/src/library/scala/Proxy.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-02-03 07:44:41 +0100
committerMartin Odersky <odersky@gmail.com>2012-02-03 07:44:41 +0100
commitb4cfd1161e9f549a909d9f563f557c17dbddad00 (patch)
tree63d64dfdd30322c211e1805df670aec3aeb3659e /src/library/scala/Proxy.scala
parente9a70f564a29ec0e2262cc9e6608c990b6b05274 (diff)
downloadscala-b4cfd1161e9f549a909d9f563f557c17dbddad00.tar.gz
scala-b4cfd1161e9f549a909d9f563f557c17dbddad00.tar.bz2
scala-b4cfd1161e9f549a909d9f563f557c17dbddad00.zip
intermediate work towards a new starr for value classes.
Diffstat (limited to 'src/library/scala/Proxy.scala')
-rw-r--r--src/library/scala/Proxy.scala10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/library/scala/Proxy.scala b/src/library/scala/Proxy.scala
index 383ff5b3bb..16c3c3fa56 100644
--- a/src/library/scala/Proxy.scala
+++ b/src/library/scala/Proxy.scala
@@ -22,13 +22,15 @@ package scala
* @author Matthias Zenger
* @version 1.0, 26/04/2004
*/
-trait Proxy {
+trait Proxy extends Any {
def self: Any
override def hashCode: Int = self.hashCode
override def equals(that: Any): Boolean = that match {
- case null => false
- case x: AnyRef => (x eq this) || (x eq self.asInstanceOf[AnyRef]) || (x equals self)
+ case null => false
+ case _ =>
+ val x = that.asInstanceOf[AnyRef]
+ (x eq this.asInstanceOf[AnyRef]) || (x eq self.asInstanceOf[AnyRef]) || (x equals self)
}
override def toString = "" + self
}
@@ -36,7 +38,7 @@ trait Proxy {
object Proxy {
/** A proxy which exposes the type it is proxying for via a type parameter.
*/
- trait Typed[T] extends Proxy {
+ trait Typed[T] extends /*Any with */Proxy {
def self: T
}
}