diff options
author | Martin Odersky <odersky@gmail.com> | 2015-12-04 17:55:21 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-12-06 16:17:43 +0100 |
commit | f8d82c2634dcf9d94037b107d49d088e89f7070f (patch) | |
tree | d32f3c0e241b8cb4bcf75ce3ff233271925e31b4 /src/dotty/tools/dotc/typer/Typer.scala | |
parent | dec21f5ea39a2c2c059c829ac16edd68f71793ee (diff) | |
download | dotty-f8d82c2634dcf9d94037b107d49d088e89f7070f.tar.gz dotty-f8d82c2634dcf9d94037b107d49d088e89f7070f.tar.bz2 dotty-f8d82c2634dcf9d94037b107d49d088e89f7070f.zip |
Switch to new hk scheme.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 3f5c4f47e..f857a2504 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -348,10 +348,9 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit typed(cpy.Block(tree)(clsDef :: Nil, New(Ident(x), Nil)), pt) case _ => var tpt1 = typedType(tree.tpt) - if (tpt1.tpe.isHK) { - val deAliased = tpt1.tpe.dealias.EtaReduce - if (deAliased.exists && deAliased.ne(tpt1.tpe)) - tpt1 = tpt1.withType(deAliased) + tpt1.tpe.dealias match { + case TypeApplications.EtaExpansion(tycon) => tpt1 = tpt1.withType(tycon) + case _ => } checkClassTypeWithStablePrefix(tpt1.tpe, tpt1.pos, traitReq = false) assignType(cpy.New(tree)(tpt1), tpt1) |