summaryrefslogtreecommitdiff
path: root/src/library/scala/runtime/ScalaRunTime.scala
diff options
context:
space:
mode:
authorSébastien Doeraene <sjrdoeraene@gmail.com>2016-04-20 15:12:14 +0200
committerSébastien Doeraene <sjrdoeraene@gmail.com>2016-04-21 15:23:11 +0200
commitcce701650143d13c8b292bffd590bf7c8eb532d7 (patch)
treee40e190c59564db46238737c9017ee59d5d03bef /src/library/scala/runtime/ScalaRunTime.scala
parent8a4653637a2b693cdcc730a93e17badaac14d56e (diff)
downloadscala-cce701650143d13c8b292bffd590bf7c8eb532d7.tar.gz
scala-cce701650143d13c8b292bffd590bf7c8eb532d7.tar.bz2
scala-cce701650143d13c8b292bffd590bf7c8eb532d7.zip
Remove the duplicate implem of hash codes for numbers.
Previously, there were two separate implementations of hash code for boxed number classes: * One in Statics, used by the codegen of case class methods. * One in ScalaRunTime + BoxesRunTime, used by everything else. This commit removes the variant implemented in ScalaRunTime + BoxesRunTime, and always uses Statics instead. We use Statics because the one from ScalaRunTime causes an unnecessary module load. The entry point ScalaRunTime.hash() is kept, as deprecated, for bootstrapping reasons.
Diffstat (limited to 'src/library/scala/runtime/ScalaRunTime.scala')
-rw-r--r--src/library/scala/runtime/ScalaRunTime.scala8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala
index 02f39f6f5f..b31a94576a 100644
--- a/src/library/scala/runtime/ScalaRunTime.scala
+++ b/src/library/scala/runtime/ScalaRunTime.scala
@@ -158,11 +158,9 @@ object ScalaRunTime {
}
}
- /** Implementation of `##`. */
- def hash(x: Any): Int =
- if (x == null) 0
- else if (x.isInstanceOf[java.lang.Number]) BoxesRunTime.hashFromNumber(x.asInstanceOf[java.lang.Number])
- else x.hashCode
+ /** Old implementation of `##`. */
+ @deprecated("Use scala.runtime.Statics.anyHash instead.", "2.12.0")
+ def hash(x: Any): Int = Statics.anyHash(x.asInstanceOf[Object])
/** Given any Scala value, convert it to a String.
*