HORIZON HASKELLDocslts/ghc-9.14.x6d5fdfd2026-10-12Search packagesCtrl K
Theme: |

GHC 9.14.1 · lts/ghc-9.14.x · 6d5fdfd · 2026-10-12

  • Packageghc-9.14.1
  • Exports53
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceInertSet.hs

The work list

The inert set

valueprohibitedSuperClassSolve
  1. :: CtLoc

    is it loopy to use this one ...

  2. -> CtLoc

    ... to solve this one?

  3. -> Bool

    True ==> don't solve it

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).

Inert equalities

Inert Dicts

Inert Irreds

Kick-out

Cycle breaker vars

Solving one from another