summaryrefslogtreecommitdiff
path: root/src/library/scala/runtime/ScalaRunTime.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-05-10 06:37:20 -0700
committerPaul Phillips <paulp@improving.org>2012-05-10 06:37:20 -0700
commitb0e85333a286075882352f66e59e5aa3f287e62e (patch)
treee8db87b510c74eef74415ce37816ead95907640c /src/library/scala/runtime/ScalaRunTime.scala
parentb0dd0452fd14ad46c4be782f9227a0540782a2d7 (diff)
downloadscala-b0e85333a286075882352f66e59e5aa3f287e62e.tar.gz
scala-b0e85333a286075882352f66e59e5aa3f287e62e.tar.bz2
scala-b0e85333a286075882352f66e59e5aa3f287e62e.zip
Revert "Fix for ## inconsistency."
This reverts commit 58bb2d1bd2000ac3aa2c64b6c5dc56c91e911860. I guess this must be what's failing the nightly.
Diffstat (limited to 'src/library/scala/runtime/ScalaRunTime.scala')
-rw-r--r--src/library/scala/runtime/ScalaRunTime.scala11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala
index a04fd23710..4c5e0e408b 100644
--- a/src/library/scala/runtime/ScalaRunTime.scala
+++ b/src/library/scala/runtime/ScalaRunTime.scala
@@ -234,13 +234,10 @@ object ScalaRunTime {
// Note that these are the implementations called by ##, so they
// must not call ## themselves.
- @inline def hash(x: Any): Int = x match {
- case null => 0
- case x: Double => hash(x)
- case x: Float => hash(x)
- case x: java.lang.Number => hash(x)
- case _ => x.hashCode
- }
+ @inline 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
@inline def hash(dv: Double): Int = {
val iv = dv.toInt