From 00e3092afa5ef6c42196a35429e56b9cc8edbc51 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Fri, 24 Jun 2005 09:55:08 +0000 Subject: Changes done by Martin to correcly typecheck La... Changes done by Martin to correcly typecheck LabelDefs. --- sources/scala/tools/nsc/typechecker/Typers.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/scala/tools/nsc/typechecker/Typers.scala b/sources/scala/tools/nsc/typechecker/Typers.scala index f931cd4606..d5c94046d9 100755 --- a/sources/scala/tools/nsc/typechecker/Typers.scala +++ b/sources/scala/tools/nsc/typechecker/Typers.scala @@ -557,8 +557,10 @@ abstract class Typers: Analyzer { } def typedLabelDef(ldef: LabelDef): LabelDef = { - val rhs1 = typed(ldef.rhs, UnitClass.tpe); - copy.LabelDef(ldef, ldef.name, ldef.params, rhs1) setType UnitClass.tpe + val restpe = ldef.symbol.tpe.resultType; + val rhs1 = typed(ldef.rhs, restpe); + ldef.params foreach (param => param.tpe = param.symbol.tpe); + copy.LabelDef(ldef, ldef.name, ldef.params, rhs1) setType restpe } def typedBlock(block: Block, mode: int, pt: Type): Block = { -- cgit v1.2.3