diff options
author | Martin Odersky <odersky@gmail.com> | 2014-02-02 18:55:47 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-02-02 18:56:47 +0100 |
commit | 4886d7cb538f9a073827c78671d1890be787c0a5 (patch) | |
tree | 654c02b484be36b885d27677f7ca9328912d5087 /src/dotty/tools/dotc/ast/Desugar.scala | |
parent | 19c8cb1bca7a07395446a0cceaab137e5af2c8c5 (diff) | |
download | dotty-4886d7cb538f9a073827c78671d1890be787c0a5.tar.gz dotty-4886d7cb538f9a073827c78671d1890be787c0a5.tar.bz2 dotty-4886d7cb538f9a073827c78671d1890be787c0a5.zip |
Relaxing check that implicits must have explicit return type
Now this is required only for members of a template. Local statements can still have implicits with no result type. (Maybe we need to get back on this).
Also, changed Dotty itself and tests to adhere to the new restriction.
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r-- | src/dotty/tools/dotc/ast/Desugar.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala index cfc7db1c3..0f1d1010a 100644 --- a/src/dotty/tools/dotc/ast/Desugar.scala +++ b/src/dotty/tools/dotc/ast/Desugar.scala @@ -274,7 +274,7 @@ object desugar { else Nil // For an implicit class C[Ts](p11: T11, ..., p1N: T1N) ... (pM1: TM1, .., pMN: TMN), the method - // synthetic implicit C[Ts](p11: T11, ..., p1N: T1N) ... (pM1: TM1, ..., pMN: TMN) = + // synthetic implicit C[Ts](p11: T11, ..., p1N: T1N) ... (pM1: TM1, ..., pMN: TMN): C[Ts] = // new C[Ts](p11, ..., p1N) ... (pM1, ..., pMN) = val implicitWrappers = if (mods is Implicit) { @@ -283,7 +283,7 @@ object desugar { if (mods is Case) ctx.error("implicit classes may not case classes", cdef.pos) DefDef(Modifiers(Synthetic | Implicit), name.toTermName, - tparams, vparamss, TypeTree(), creatorExpr) :: Nil + tparams, vparamss, classTypeRef, creatorExpr) :: Nil } else Nil |