@@ -41,6 +41,7 @@ import Control.Applicative hiding (Const)
41import Control.DeepSeq
41import Control.DeepSeq
42import Control.Monad
42import Control.Monad
43import Control.Monad.State.Strict as State
43import Control.Monad.State.Strict as State
44+import qualified Control.Monad.State.Lazy as LState
44import Data.List
45import Data.List
45import Data.Maybe
46import Data.Maybe
46import Debug.Trace
47import Debug.Trace
@@ -695,8 +696,12 @@ elabClause info opts (cnum, PClause fc fname lhs_in_as withs rhs_in_as wherebloc
695 then recheckC_borrowing True borrowed fc [] rhs'
696 then recheckC_borrowing True borrowed fc [] rhs'
696 else return (rhs', clhsty)
697 else return (rhs', clhsty)
697 logLvl 6 $ " ==> " ++ show crhsty ++ " against " ++ show clhsty
698 logLvl 6 $ " ==> " ++ show crhsty ++ " against " ++ show clhsty
698− case converts ctxt [] clhsty crhsty of
699+ ctxt <- getContext
700+ let constv = next_tvar ctxt
701+ case LState.runStateT (convertsC ctxt [] crhsty clhsty) (constv, []) of
702+ OK (_, cs) -> do addConstraints fc cs
703+ logLvl 6 $ "CONSTRAINTS ADDED: " ++ show (constv,cs)
699− OK _ -> return ()
704+ return ()
700 Error e -> ierror (At fc (CantUnify False clhsty crhsty e [] 0))
705 Error e -> ierror (At fc (CantUnify False clhsty crhsty e [] 0))
701 i <- getIState
706 i <- getIState
702 checkInferred fc (delab' i crhs True True) rhs
707 checkInferred fc (delab' i crhs True True) rhs