diff options
author | Paul Phillips <paulp@improving.org> | 2012-10-30 07:43:03 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-10-30 07:56:05 -0700 |
commit | c3e2a81b38133f2b997e56ccd85d9bea38896a6b (patch) | |
tree | c169f7db6e60e4fd76cd7739472166b07625d83f /test/files | |
parent | a7276d5976f57d4f182a55f92693de97acf1de64 (diff) | |
download | scala-c3e2a81b38133f2b997e56ccd85d9bea38896a6b.tar.gz scala-c3e2a81b38133f2b997e56ccd85d9bea38896a6b.tar.bz2 scala-c3e2a81b38133f2b997e56ccd85d9bea38896a6b.zip |
Modification to SI-6534 patch.
Only exclude hashCode and equals from being overridden in
value classes, not other synthetics which may turn up such
as case class methods.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/t6534.check | 5 | ||||
-rw-r--r-- | test/files/neg/t6534.scala | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/test/files/neg/t6534.check b/test/files/neg/t6534.check index bd7dc4b71c..52e70cfa8a 100644 --- a/test/files/neg/t6534.check +++ b/test/files/neg/t6534.check @@ -10,5 +10,8 @@ class Bippy3(val x: Int) extends AnyVal { override def equals(x: Any) = false } t6534.scala:7: error: redefinition of hashCode method. See SIP-15, criterion 4. is not allowed in value class class Bippy4(val x: Int) extends AnyVal { override def hashCode = -1 } // error ^ +t6534.scala:9: error: redefinition of equals method. See SIP-15, criterion 4. is not allowed in value class +case class Bippy6(val x: Int) extends AnyVal { override def productPrefix = "Dingo" ; override def equals(x: Any) = false } // error + ^ two warnings found -two errors found +three errors found diff --git a/test/files/neg/t6534.scala b/test/files/neg/t6534.scala index a193179399..de588b69a7 100644 --- a/test/files/neg/t6534.scala +++ b/test/files/neg/t6534.scala @@ -5,3 +5,6 @@ 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 +case class Bippy5(val x: Int) extends AnyVal { override def productPrefix = "Dingo" } // nothing +case class Bippy6(val x: Int) extends AnyVal { override def productPrefix = "Dingo" ; override def equals(x: Any) = false } // error + |