@@ -1684,13 +1684,16 @@ class Typer extends Namer
16841684 }
16851685 }
16861686
1687- def typedLambdaTypeTree (tree : untpd.LambdaTypeTree )(using Context ): Tree = {
1687+ private def typeIndexedLambdaTypeTree (
1688+ tree : untpd.LambdaTypeTree , tparams : List [untpd.TypeDef ], body : untpd.Tree )(using Context ) =
1689+ val tparams1 = tparams.map(typed(_)).asInstanceOf [List [TypeDef ]]
1690+ val body1 = typedType(body)
1691+ assignType(cpy.LambdaTypeTree (tree)(tparams1, body1), tparams1, body1)
1692+
1693+ def typedLambdaTypeTree (tree : untpd.LambdaTypeTree )(using Context ): Tree =
16881694 val LambdaTypeTree (tparams, body) = tree
16891695 index(tparams)
1690- val tparams1 = tparams.mapconserve(typed(_).asInstanceOf [TypeDef ])
1691- val body1 = typedType(tree.body)
1692- assignType(cpy.LambdaTypeTree (tree)(tparams1, body1), tparams1, body1)
1693- }
1696+ typeIndexedLambdaTypeTree(tree, tparams, body)
16941697
16951698 def typedTermLambdaTypeTree (tree : untpd.TermLambdaTypeTree )(using Context ): Tree =
16961699 if dependentEnabled then
@@ -1943,14 +1946,12 @@ class Typer extends Namer
19431946 def typedTypeDef (tdef : untpd.TypeDef , sym : Symbol )(using Context ): Tree = {
19441947 val TypeDef (name, rhs) = tdef
19451948 completeAnnotations(tdef, sym)
1946- val rhs1 = tdef.rhs match {
1949+ val rhs1 = tdef.rhs match
19471950 case rhs @ LambdaTypeTree (tparams, body) =>
1948- val tparams1 = tparams.map(typed(_)).asInstanceOf [List [TypeDef ]]
1949- val body1 = typedType(body)
1950- assignType(cpy.LambdaTypeTree (rhs)(tparams1, body1), tparams1, body1)
1951+ typeIndexedLambdaTypeTree(rhs, tparams, body)
19511952 case rhs =>
19521953 typedType(rhs)
1953- }
1954+ checkFullyAppliedType(rhs1)
19541955 assignType(cpy.TypeDef (tdef)(name, rhs1), sym)
19551956 }
19561957
0 commit comments