@@ -1684,13 +1684,16 @@ class Typer extends Namer
1684
1684
}
1685
1685
}
1686
1686
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 =
1688
1694
val LambdaTypeTree (tparams, body) = tree
1689
1695
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)
1694
1697
1695
1698
def typedTermLambdaTypeTree (tree : untpd.TermLambdaTypeTree )(using Context ): Tree =
1696
1699
if dependentEnabled then
@@ -1943,14 +1946,12 @@ class Typer extends Namer
1943
1946
def typedTypeDef (tdef : untpd.TypeDef , sym : Symbol )(using Context ): Tree = {
1944
1947
val TypeDef (name, rhs) = tdef
1945
1948
completeAnnotations(tdef, sym)
1946
- val rhs1 = tdef.rhs match {
1949
+ val rhs1 = tdef.rhs match
1947
1950
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)
1951
1952
case rhs =>
1952
1953
typedType(rhs)
1953
- }
1954
+ checkFullyAppliedType(rhs1)
1954
1955
assignType(cpy.TypeDef (tdef)(name, rhs1), sym)
1955
1956
}
1956
1957
0 commit comments