diff options
author | Martin Odersky <odersky@gmail.com> | 2015-07-19 12:38:19 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-09-18 18:07:27 +0200 |
commit | 094c3bdef0fcc725c6eada7cbf70a9c51ce1ed7e (patch) | |
tree | 5da6a5fc7c050c18c83624412468a4b8730f9515 /src/dotty/tools/dotc | |
parent | 47049965ce2b72e49b0d1ca29c10966f7d5012fb (diff) | |
download | dotty-094c3bdef0fcc725c6eada7cbf70a9c51ce1ed7e.tar.gz dotty-094c3bdef0fcc725c6eada7cbf70a9c51ce1ed7e.tar.bz2 dotty-094c3bdef0fcc725c6eada7cbf70a9c51ce1ed7e.zip |
Don't lambda abstract derived types
Derived types already contain the lambda abstractoion; lambda abstracting
them again would cause a double lambda.
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index 224ced0ce..225235822 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -783,7 +783,7 @@ class Namer { typer: Typer => //val toParameterize = tparamSyms.nonEmpty && !isDerived //val needsLambda = sym.allOverriddenSymbols.exists(_ is HigherKinded) && !isDerived def abstracted(tp: Type): Type = - if (tparamSyms.nonEmpty) tp.LambdaAbstract(tparamSyms) + if (tparamSyms.nonEmpty && !isDerived) tp.LambdaAbstract(tparamSyms) //else if (toParameterize) tp.parameterizeWith(tparamSyms) else tp sym.info = abstracted(TypeBounds.empty) |