X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Ftypes%2FOptCoercion.lhs;h=a93df034da76c1729268af06ae6ca04012ebeff8;hb=5096055e9aa46a7cc8b5a1292f7094fe588ec4d1;hp=6d0f2b12e5e297ed2411ed4d614a5aeb3be964c9;hpb=b855273185a7b86c65172c10674c98bab1052e2c;p=ghc-hetmet.git diff --git a/compiler/types/OptCoercion.lhs b/compiler/types/OptCoercion.lhs index 6d0f2b1..a93df03 100644 --- a/compiler/types/OptCoercion.lhs +++ b/compiler/types/OptCoercion.lhs @@ -96,7 +96,9 @@ opt_co' env sym (TyConAppCo tc cos) = mkTyConAppCo tc (map (opt_co env sym) cos) opt_co' env sym (PredCo cos) = mkPredCo (fmap (opt_co env sym) cos) opt_co' env sym (AppCo co1 co2) = mkAppCo (opt_co env sym co1) (opt_co env sym co2) opt_co' env sym (ForAllCo tv co) = case substTyVarBndr env tv of - (env', tv') -> ForAllCo tv' (opt_co env' sym co) + (env', tv') -> mkForAllCo tv' (opt_co env' sym co) + -- Use the "mk" functions to check for nested Refls + opt_co' env sym (CoVarCo cv) | Just co <- lookupCoVar env cv = opt_co (zapCvSubstEnv env) sym co