From 105d8d1c65c6eb0f1c7657dc3a395ec7bfd7c13a Mon Sep 17 00:00:00 2001 From: Richard Eisenberg <eir@cis.upenn.edu> Date: Tue, 10 Jun 2014 15:25:36 -0400 Subject: [PATCH] Fix #9085. Inaccessible equations in a closed type family now leads to a warning, not an error. This echoes what happens at the term level. (cherry picked from commit 6a1d7f9736098d47463a71323d28ece792a59e52) --- compiler/typecheck/TcTyClsDecls.lhs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs index 817fbb36e039..c03af38b9a5b 100644 --- a/compiler/typecheck/TcTyClsDecls.lhs +++ b/compiler/typecheck/TcTyClsDecls.lhs @@ -1464,8 +1464,8 @@ checkValidClosedCoAxiom (CoAxiom { co_ax_branches = branches, co_ax_tc = tc }) -- ones and hence is inaccessible check_accessibility prev_branches cur_branch = do { when (cur_branch `isDominatedBy` prev_branches) $ - setSrcSpan (coAxBranchSpan cur_branch) $ - addErrTc $ inaccessibleCoAxBranch tc cur_branch + addWarnAt (coAxBranchSpan cur_branch) $ + inaccessibleCoAxBranch tc cur_branch ; return (cur_branch : prev_branches) } checkFieldCompat :: Name -> DataCon -> DataCon -> TyVarSet @@ -2161,7 +2161,7 @@ wrongNamesInInstGroup first cur inaccessibleCoAxBranch :: TyCon -> CoAxBranch -> SDoc inaccessibleCoAxBranch tc fi - = ptext (sLit "Inaccessible family instance equation:") $$ + = ptext (sLit "Overlapped type family instance equation:") $$ (pprCoAxBranch tc fi) badRoleAnnot :: Name -> Role -> Role -> SDoc -- GitLab