diff options
author | Paul Phillips <paulp@improving.org> | 2012-09-14 13:09:18 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-09-14 13:09:18 -0700 |
commit | b61a2e31d27e6496ad5ac96758fe8003719cacb0 (patch) | |
tree | 21297a4989122d4018cafd1dcbe408e0d290b4e2 /src | |
parent | 493d16306cf0e836da9c77a4768dd42620dd1a72 (diff) | |
parent | ddb3b889b5fa55760167d9995d2f1549e2542b71 (diff) | |
download | scala-b61a2e31d27e6496ad5ac96758fe8003719cacb0.tar.gz scala-b61a2e31d27e6496ad5ac96758fe8003719cacb0.tar.bz2 scala-b61a2e31d27e6496ad5ac96758fe8003719cacb0.zip |
Merge pull request #1290 from retronym/ticket/no-implicit-to-anyref
A little cleanup along the Any to AnyRef trail.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala | 2 | ||||
-rw-r--r-- | src/library/scala/runtime/StringAdd.scala | 5 | ||||
-rw-r--r-- | src/library/scala/runtime/StringFormat.scala | 6 |
3 files changed, 1 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala b/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala index bbeb549289..5ca4712cd2 100644 --- a/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala +++ b/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala @@ -106,7 +106,7 @@ trait ContextErrors { else s"$name extends Any, not AnyRef" ) - if (isPrimitiveValueType(found)) "" else "\n" + + if (isPrimitiveValueType(found) || isTrivialTopType(tp)) "" else "\n" + s"""|Note that $what. |Such types can participate in value classes, but instances |cannot appear in singleton types or in reference comparisons.""".stripMargin diff --git a/src/library/scala/runtime/StringAdd.scala b/src/library/scala/runtime/StringAdd.scala index 4693b0bf44..f074b5407e 100644 --- a/src/library/scala/runtime/StringAdd.scala +++ b/src/library/scala/runtime/StringAdd.scala @@ -10,10 +10,5 @@ package scala.runtime /** A wrapper class that adds string concatenation `+` to any value */ final class StringAdd(val self: Any) extends AnyVal { - // Note: The implicit conversion from Any to StringAdd is one of two - // implicit conversions from Any to AnyRef in Predef. It is important to have at least - // two such conversions, so that silent conversions from value types to AnyRef - // are avoided. If StringFormat should become a value class, another - // implicit conversion from Any to AnyRef has to be introduced in Predef def +(other: String) = String.valueOf(self) + other } diff --git a/src/library/scala/runtime/StringFormat.scala b/src/library/scala/runtime/StringFormat.scala index 1f5feec9e1..7d34e82812 100644 --- a/src/library/scala/runtime/StringFormat.scala +++ b/src/library/scala/runtime/StringFormat.scala @@ -11,12 +11,6 @@ package scala.runtime /** A wrapper class that adds a `formatted` operation to any value */ final class StringFormat(val self: Any) extends AnyVal { - // Note: The implicit conversion from Any to StringFormat is one of two - // implicit conversions from Any to AnyRef in Predef. It is important to have at least - // two such conversions, so that silent conversions from value types to AnyRef - // are avoided. If StringFormat should become a value class, another - // implicit conversion from Any to AnyRef has to be introduced in Predef - /** Returns string formatted according to given `format` string. * Format strings are as for `String.format` * (@see java.lang.String.format). |