Skip to content

Commit 66546df

Browse files
committed
Align rechecking ValDefs and DefDefs
Makes things more regular and allows for a non-identity mapping between declared types and infos of vals.
1 parent c31c24d commit 66546df

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
@@ -256,8 +256,9 @@ abstract class Recheck extends Phase, SymTransformer:
256256
bindType.symbol.info
257257

258258
def recheckValDef(tree: ValDef, sym: Symbol)(using Context): Type =
259-
if tree.rhs.isEmpty then sym.info
260-
else recheck(tree.rhs, sym.info)
259+
val resType = recheck(tree.tpt)
260+
if tree.rhs.isEmpty then resType
261+
else recheck(tree.rhs, resType)
261262

262263
def recheckDefDef(tree: DefDef, sym: Symbol)(using Context): Type =
263264
inContext(linkConstructorParams(sym).withOwner(sym)):

0 commit comments

Comments
 (0)