Skip to content

Commit 59cfa19

Browse files
committed
Still recheck Apply's function tree
1 parent 4a76ba7 commit 59cfa19

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

compiler/src/dotty/tools/dotc/transform/Recheck.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,9 @@ abstract class Recheck extends Phase, SymTransformer:
212212
mt.instantiate(argTypes)
213213

214214
def recheckApply(tree: Apply, pt: Type)(using Context): Type =
215-
// reuse the tree's type if the function was a signature polymorphic method, instead of rechecking it
216-
val tpe = if tree.fun.symbol.originalSignaturePolymorphic.exists then tree.fun.tpe else recheck(tree.fun)
215+
val funTp = recheck(tree.fun)
216+
// reuse the tree's type on signature polymorphic methods, instead of using the (wrong) rechecked one
217+
val tpe = if tree.fun.symbol.originalSignaturePolymorphic.exists then tree.fun.tpe else funTp
217218
tpe.widen match
218219
case fntpe: MethodType =>
219220
assert(fntpe.paramInfos.hasSameLengthAs(tree.args))

0 commit comments

Comments
 (0)