summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Solver
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Solver')
-rw-r--r--compiler/GHC/Tc/Solver/Interact.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/Tc/Solver/Interact.hs b/compiler/GHC/Tc/Solver/Interact.hs
index d95c13cd54..799a6197dc 100644
--- a/compiler/GHC/Tc/Solver/Interact.hs
+++ b/compiler/GHC/Tc/Solver/Interact.hs
@@ -1079,7 +1079,7 @@ shortCutSolver dflags ev_w ev_i
&& gopt Opt_SolveConstantDicts dflags
-- Enabled by the -fsolve-constant-dicts flag
= do { ev_binds_var <- getTcEvBindsVar
- ; ev_binds <- ASSERT2( not (isCoEvBindsVar ev_binds_var ), ppr ev_w )
+ ; ev_binds <- ASSERT2( termEvidenceAllowed ev_binds_var, ppr ev_w )
getTcEvBindsMap ev_binds_var
; solved_dicts <- getSolvedDicts
@@ -2386,7 +2386,7 @@ chooseInstance work_item
-- Precondition: evidence term matches the predicate workItem
finish_wanted loc theta mk_ev
= do { evb <- getTcEvBindsVar
- ; if isCoEvBindsVar evb
+ ; if not (termEvidenceAllowed evb)
then -- See Note [Instances in no-evidence implications]
continueWith work_item
else