summaryrefslogtreecommitdiff
path: root/src/library-aux/scala/AnyRef.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-02-03 12:09:59 +0100
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-10 10:58:58 -0800
commitb0f81ed35a45fffb9d0761299013d9d5f324ade6 (patch)
treec4ea000186473463803cb8c3477e8e513ba78fa9 /src/library-aux/scala/AnyRef.scala
parent4b3dbd91d9d81f61809ef47a2a324eabfb122b71 (diff)
downloadscala-b0f81ed35a45fffb9d0761299013d9d5f324ade6.tar.gz
scala-b0f81ed35a45fffb9d0761299013d9d5f324ade6.tar.bz2
scala-b0f81ed35a45fffb9d0761299013d9d5f324ade6.zip
SI-8219 Pending test to show suspicous overload in == in AnyRef
% scalac-hash v2.11.0-M7 test/pending/neg/t8219-any-any-ref-equals.scala test/pending/neg/t8219-any-any-ref-equals.scala:5: error: overloaded method value == with alternatives: (x$1: AnyRef)Boolean <and> (x$1: Any)Boolean does not take type parameters "".==[Int] ^ one error found Usually for Java-originated methods, we are allow Object and Any to unify pre-erasure in method signatures. This is handled in `matchesParams`, and is predicated on whether the method type is an instance of `JavaMethodType` For instance, we are allowed to: scala> class C { override def equals(a: Any) = false } defined class C On account of: scala> typeOf[Object].decl(nme.equals_).info.getClass res7: Class[_ <: $r.intp.global.Type] = class scala.reflect.internal.Types$JavaMethodType But: scala> typeOf[Object].decl(nme.EQ).defString res8: String = final def ==(x$1: AnyRef): Boolean scala> typeOf[Object].decl(nme.EQ).info.getClass res9: Class[_ <: $r.intp.global.Type] = class scala.reflect.internal.Types$MethodType More special casing is probably needed.
Diffstat (limited to 'src/library-aux/scala/AnyRef.scala')
0 files changed, 0 insertions, 0 deletions