diff options
-rw-r--r-- | compiler/typecheck/TcSimplify.hs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/typecheck/TcSimplify.hs b/compiler/typecheck/TcSimplify.hs index a29e1dc3eb..773a5e6a12 100644 --- a/compiler/typecheck/TcSimplify.hs +++ b/compiler/typecheck/TcSimplify.hs @@ -688,10 +688,9 @@ solveWantedsTcM :: WantedConstraints -> TcM (WantedConstraints, Bag EvBind) -- Discards all Derived stuff in result -- Postcondition: fully zonked and unflattened constraints solveWantedsTcM wanted - = do { ev_binds_var <- TcM.newTcEvBinds - ; wanteds' <- solveWantedsTcMWithEvBinds ev_binds_var wanted solveWantedsAndDrop - ; binds <- TcRnMonad.getTcEvBinds ev_binds_var - ; return (wanteds', binds) } + = do { (wanted1, binds) <- runTcS (solveWantedsAndDrop wanted) + ; wanted2 <- zonkWC wanted1 + ; return (wanted2, binds) } solveWantedsAndDrop :: WantedConstraints -> TcS (WantedConstraints) -- Since solveWanteds returns the residual WantedConstraints, |