X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FMkId.lhs;h=46099590c67cdcf73aab965b456c0f98b96e9be8;hb=247fd64109002ed88c27bc5d6cfea6a71ee48cfa;hp=f9127314daeef037e6e6aeef384499fee45da07f;hpb=ef47b5c2f44fce638b623c9cf5bb2f7f62ba619d;p=ghc-hetmet.git diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index f912731..4609959 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -474,10 +474,6 @@ mkRecordSelId tycon field_label (field_tyvars,pre_field_theta,field_tau) = tcSplitSigmaTy field_ty - mk_co_var k = mkWildCoVar k - eq_vars = map (mk_co_var . mkPredTy) - (filter isEqPred pre_field_theta) - field_theta = filter (not . isEqPred) pre_field_theta field_dict_tys = mkPredTys field_theta n_field_dict_tys = length field_dict_tys @@ -559,6 +555,7 @@ mkRecordSelId tycon field_label -- the context stuff; hence the arg_prefix binding below mkReboxingAlt uniqs data_con (arg_prefix ++ arg_ids) rhs where + -- TODO: this is *not* right; Orig vs Rep tys (arg_prefix, arg_ids) | isVanillaDataCon data_con -- Instantiate from commmon base = ([], mkTemplateLocalsNum arg_base (dataConInstOrigArgTys data_con res_tys)) @@ -579,9 +576,9 @@ mkRecordSelId tycon field_label uniq_list = map mkBuiltinUnique [unpack_base..] Succeeded refinement = gadtRefine emptyRefinement ex_tvs co_tvs - (co_fn, out_ty) = refineType refinement (idType the_arg_id) + (co_fn, _) = refineType refinement (idType the_arg_id) - rhs = ASSERT(out_ty `coreEqType` field_tau) perform_co co_fn (Var the_arg_id) + rhs = perform_co co_fn (Var the_arg_id) perform_co (ExprCoFn co) expr = Cast expr co perform_co id_co expr = ASSERT(isIdCoercion id_co) expr