Constructors
WLwl_eqs :: [Ct]wl_rw_eqs :: [Ct]wl_rest :: [Ct]wl_implics :: Bag Implication
Instances1Outputable
Outputable WorkListDefined in ghc-9.10.3 · GHC.Tc.Solver.InertSet
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05
Moduleghc-9.10.3GHC2021
WLwl_eqs :: [Ct]wl_rw_eqs :: [Ct]wl_rest :: [Ct]wl_implics :: Bag ImplicationOutputable WorkListDefined in ghc-9.10.3 · GHC.Tc.Solver.InertSetOutputable InertSetDefined in ghc-9.10.3 · GHC.Tc.Solver.InertSetICinert_eqs :: InertEqsinert_funeqs :: InertFunEqsinert_dicts :: DictMap DictCtinert_insts :: [QCInst]inert_safehask :: DictMap DictCtSee Note [Safe Haskell Overlapping Instances Implementation] in GHC.Tc.Solver
inert_irreds :: InertIrredsinert_given_eq_lvl :: TcLevelinert_given_eqs :: BoolOutputable InertCansDefined in ghc-9.10.3 · GHC.Tc.Solver.InertSetReturns True iff there are no Given constraints that might, potentially, match the given class constraint. This is used when checking to see if a Given might overlap with an instance. See Note [Instance and Given overlap] in GHC.Tc.Solver.Dict
Is 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).
Push 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-9.10.3 · GHC.Tc.Solver.InertSet