X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FdeSugar%2FDsExpr.lhs;h=a7f8267671b1edf84afbcd75d59f29a4738124aa;hb=2f41561d35ed975332d1cd56e7b49ff6731dcfab;hp=abb2f1e850a6c67af36caa5b2efc852da9bbfc6c;hpb=038af69f4ee2778abde793e38d763f0e5280fc4a;p=ghc-hetmet.git diff --git a/ghc/compiler/deSugar/DsExpr.lhs b/ghc/compiler/deSugar/DsExpr.lhs index abb2f1e..a7f8267 100644 --- a/ghc/compiler/deSugar/DsExpr.lhs +++ b/ghc/compiler/deSugar/DsExpr.lhs @@ -34,7 +34,7 @@ import FieldLabel ( FieldLabel, fieldLabelTyCon ) import CostCentre ( mkUserCC ) import Id ( Id, idType, recordSelectorFieldLabel ) import PrelInfo ( rEC_CON_ERROR_ID, iRREFUT_PAT_ERROR_ID ) -import DataCon ( DataCon, dataConWrapId, dataConArgTys, dataConFieldLabels ) +import DataCon ( DataCon, dataConWrapId, dataConFieldLabels, dataConInstOrigArgTys ) import DataCon ( isExistentialDataCon ) import Literal ( Literal(..) ) import TyCon ( tyConDataCons ) @@ -408,7 +408,7 @@ dsExpr (RecordUpdOut record_expr record_out_ty dicts rbinds) [] -> HsVar old_arg_id mk_alt con - = newSysLocalsDs (dataConArgTys con in_inst_tys) `thenDs` \ arg_ids -> + = newSysLocalsDs (dataConInstOrigArgTys con in_inst_tys) `thenDs` \ arg_ids -> -- This call to dataConArgTys won't work for existentials let val_args = zipWithEqual "dsExpr:RecordUpd" mk_val_arg