aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-10-07 12:42:38 +0200
committerMartin Odersky <odersky@gmail.com>2015-10-07 13:41:58 +0200
commit6cca64fa0aa37942812d1c870b99f309dab67352 (patch)
tree5d2e357e72c22ca64a8fad770a8002fc4ff15bcf /src/dotty/tools/dotc/typer/Typer.scala
parenta8c8bdad57941071b85caa54bc57b84d8ca7d526 (diff)
downloaddotty-6cca64fa0aa37942812d1c870b99f309dab67352.tar.gz
dotty-6cca64fa0aa37942812d1c870b99f309dab67352.tar.bz2
dotty-6cca64fa0aa37942812d1c870b99f309dab67352.zip
Check that some types are not higher-kinded.
Invalidates #813. Review by @darkdimius.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index b28ac9bc5..d94505e29 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -369,7 +369,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
if (untpd.isWildcardStarArg(tree))
TypeTree(defn.SeqClass.typeRef.appliedTo(pt :: Nil))
else
- typedType(tree.tpt)
+ checkSimpleKinded(typedType(tree.tpt))
val expr1 =
if (isWildcard) tree.expr withType tpt1.tpe
else typed(tree.expr, tpt1.tpe)
@@ -917,7 +917,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
def typedValDef(vdef: untpd.ValDef, sym: Symbol)(implicit ctx: Context) = track("typedValDef") {
val ValDef(name, tpt, _) = vdef
completeAnnotations(vdef, sym)
- val tpt1 = typedType(tpt)
+ val tpt1 = checkSimpleKinded(typedType(tpt))
val rhs1 = vdef.rhs match {
case rhs @ Ident(nme.WILDCARD) => rhs withType tpt1.tpe
case rhs => typedExpr(rhs, tpt1.tpe)
@@ -931,7 +931,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
val tparams1 = tparams mapconserve (typed(_).asInstanceOf[TypeDef])
val vparamss1 = vparamss nestedMapconserve (typed(_).asInstanceOf[ValDef])
if (sym is Implicit) checkImplicitParamsNotSingletons(vparamss1)
- val tpt1 = typedType(tpt)
+ val tpt1 = checkSimpleKinded(typedType(tpt))
val rhs1 = typedExpr(ddef.rhs, tpt1.tpe)
assignType(cpy.DefDef(ddef)(name, tparams1, vparamss1, tpt1, rhs1), sym)
//todo: make sure dependent method types do not depend on implicits or by-name params