Repository : ssh://[email protected]/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/62d3fdeb9edfcfdeb661a6b8551ac2fc45b8595c/ghc
>--------------------------------------------------------------- commit 62d3fdeb9edfcfdeb661a6b8551ac2fc45b8595c Author: Richard Eisenberg <[email protected]> Date: Tue Sep 3 10:27:02 2013 -0400 Allow non-Nominal covars (bugfix) >--------------------------------------------------------------- 62d3fdeb9edfcfdeb661a6b8551ac2fc45b8595c compiler/types/Coercion.lhs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs index 6cda16b..b0da3ed 100644 --- a/compiler/types/Coercion.lhs +++ b/compiler/types/Coercion.lhs @@ -802,7 +802,7 @@ isReflCo_maybe _ = Nothing mkCoVarCo :: CoVar -> Coercion -- cv :: s ~# t mkCoVarCo cv - | ty1 `eqType` ty2 = Refl Nominal ty1 + | ty1 `eqType` ty2 = Refl (coVarRole cv) ty1 | otherwise = CoVarCo cv where (ty1, ty2) = ASSERT( isCoVar cv ) coVarKind cv @@ -1360,8 +1360,7 @@ subst_co subst co substCoVar :: CvSubst -> CoVar -> Coercion substCoVar (CvSubst in_scope _ cenv) cv - | Just co <- lookupVarEnv cenv cv = ASSERT2( coercionRole co == Nominal, ppr co ) - co + | Just co <- lookupVarEnv cenv cv = co | Just cv1 <- lookupInScope in_scope cv = ASSERT( isCoVar cv1 ) CoVarCo cv1 | otherwise = WARN( True, ptext (sLit "substCoVar not in scope") <+> ppr cv $$ ppr in_scope) ASSERT( isCoVar cv ) CoVarCo cv _______________________________________________ ghc-commits mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-commits
