Instances1Outputable
Outputable WorkListDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSet
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10
Moduleghc-lib-parser-9.14.1.20251220GHC2021
Outputable WorkListDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSetISinert_cans :: InertCansinert_givens :: InertCansinert_cycle_breakers :: CycleBreakerVarStackinert_famapp_cache :: FunEqMap Reductioninert_solved_dicts :: DictMap DictCtinert_safehask :: DictMap DictCtSee Note [Safe Haskell Overlapping Instances Implementation] in GHC.Tc.Solver
Outputable InertSetDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSetICinert_eqs :: InertEqsinert_funeqs :: InertFunEqsinert_dicts :: DictMap DictCtinert_qcis :: [QCInst]inert_irreds :: InertIrredsinert_given_eq_lvl :: TcLevelinert_given_eqs :: BoolOutputable InertCansDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSetIs it (potentially) loopy to use the first ct1 to solve ct2?
Necessary (but not sufficient) conditions for this function to return True:
ct1 and ct2 both arise from superclass expansion,
ct1 is a Given and ct2 is a Wanted.
See Note [Solving superclass constraints] in GHC.Tc.TyCl.Instance, (sc2).
Filter InertEqs according to a predicate
Filter entries in InertFunEqs that satisfy the predicate
Look up a solved inert.
Look up a dictionary inert.
Outputable KickOutSpecDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSetPush a fresh environment onto the cycle-breaker var stack. Useful when entering a nested implication.
Add a new cycle-breaker binding to the top environment on the stack.
Perform a monadic operation on all pairs in the top environment in the stack.
Outputable InteractResultDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Tc.Solver.InertSet