aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-11-03 14:04:45 +0100
committerMartin Odersky <odersky@gmail.com>2015-11-03 14:04:45 +0100
commitd2ed587d8711bcbeaaf970043e7d80955ada164a (patch)
treea98c22088a14e9c7ea7e7a718724dfe20ad7ddad /src/dotty/tools/dotc/core/Definitions.scala
parentf2187f3deb90b3584a4e7f3030b1d3b716cac775 (diff)
downloaddotty-d2ed587d8711bcbeaaf970043e7d80955ada164a.tar.gz
dotty-d2ed587d8711bcbeaaf970043e7d80955ada164a.tar.bz2
dotty-d2ed587d8711bcbeaaf970043e7d80955ada164a.zip
Enable <:< implicits as conversions.
These were disabled before, which means that having evidence of S <:< T did not introduce a usable implicit conversion from S to T. We do do it like scalac: just disable Predef.$conforms. This makes TraversableOnce compile. Fixes #914.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index a503a2d23..6f322904e 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -192,6 +192,9 @@ class Definitions {
ScalaPackageClass, tpnme.Null, AbstractFinal, List(ObjectClass.typeRef))
lazy val ScalaPredefModule = ctx.requiredModule("scala.Predef")
+
+ lazy val Predef_conforms = ctx.requiredMethod(ScalaPredefModule.moduleClass.asClass, "$conforms")
+
lazy val ScalaRuntimeModule = ctx.requiredModule("scala.runtime.ScalaRunTime")
lazy val ScalaRuntimeClass = ScalaRuntimeModule.moduleClass.asClass
@@ -210,7 +213,6 @@ class Definitions {
def newRefArrayMethod = ctx.requiredMethod(DottyArraysModule.moduleClass.asClass, "newRefArray")
lazy val NilModule = ctx.requiredModule("scala.collection.immutable.Nil")
- lazy val PredefConformsClass = ctx.requiredClass("scala.Predef." + tpnme.Conforms)
// lazy val FunctionClass: ClassSymbol = ctx.requiredClass("scala.Function")
lazy val SingletonClass: ClassSymbol =