aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Definitions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-06-19 13:41:18 +0200
committerMartin Odersky <odersky@gmail.com>2014-06-19 13:41:18 +0200
commit91e44df57185a32988c22823551d8049b3c43da8 (patch)
tree79d73bb9f528b2f635cb1d8487e4c8a8a5756690 /src/dotty/tools/dotc/core/Definitions.scala
parent76238566c281b9d87b17c7e361feb649ceb7a6d0 (diff)
downloaddotty-91e44df57185a32988c22823551d8049b3c43da8.tar.gz
dotty-91e44df57185a32988c22823551d8049b3c43da8.tar.bz2
dotty-91e44df57185a32988c22823551d8049b3c43da8.zip
Fixes to lambda abstraction
1) Honor variance of Apply and $hkArgs when instantiating them 2) Eta-lifting a higher-kinded type is straight eta expansion, no arguments are applied.
Diffstat (limited to 'src/dotty/tools/dotc/core/Definitions.scala')
-rw-r--r--src/dotty/tools/dotc/core/Definitions.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/src/dotty/tools/dotc/core/Definitions.scala
index bd323bab5..6a318b0fe 100644
--- a/src/dotty/tools/dotc/core/Definitions.scala
+++ b/src/dotty/tools/dotc/core/Definitions.scala
@@ -460,7 +460,7 @@ class Definitions {
val paramDecls = newScope
for (i <- 0 until vcs.length)
newTypeParam(cls, tpnme.lambdaArgName(i), varianceFlags(vcs(i)), paramDecls)
- newTypeField(cls, tpnme.Apply, EmptyFlags, paramDecls)
+ newTypeField(cls, tpnme.Apply, Covariant, paramDecls)
val parentTraitRefs =
for (i <- 0 until vcs.length if vcs(i) != 0)
yield lambdaTrait(vcs.updated(i, 0)).typeRef