summaryrefslogtreecommitdiff
path: root/test/files/neg/t6534.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-10-24 13:23:54 -0700
committerPaul Phillips <paulp@improving.org>2012-10-24 13:52:41 -0700
commita7276d5976f57d4f182a55f92693de97acf1de64 (patch)
treed8aef3889d0ae87cc4ea5ae75ed5addd8b34ea86 /test/files/neg/t6534.scala
parent2c554249fd8e99286134b217027b6e3cb2c92d77 (diff)
downloadscala-a7276d5976f57d4f182a55f92693de97acf1de64.tar.gz
scala-a7276d5976f57d4f182a55f92693de97acf1de64.tar.bz2
scala-a7276d5976f57d4f182a55f92693de97acf1de64.zip
New take on SI-6534, value classes.
Don't prohibit equals and hashCode in universal traits; instead, always override them in value classes.
Diffstat (limited to 'test/files/neg/t6534.scala')
-rw-r--r--test/files/neg/t6534.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/neg/t6534.scala b/test/files/neg/t6534.scala
new file mode 100644
index 0000000000..a193179399
--- /dev/null
+++ b/test/files/neg/t6534.scala
@@ -0,0 +1,7 @@
+trait Foo extends Any { override def equals(x: Any) = false }
+trait Ding extends Any { override def hashCode = -1 }
+
+class Bippy1(val x: Int) extends AnyVal with Foo { } // warn
+class Bippy2(val x: Int) extends AnyVal with Ding { } // warn
+class Bippy3(val x: Int) extends AnyVal { override def equals(x: Any) = false } // error
+class Bippy4(val x: Int) extends AnyVal { override def hashCode = -1 } // error