Skip to content

Improve CtIrredStatus

In GHC.Tc.Types.Constraint we have

data CtIrredStatus
  = InsolubleCIS   -- this constraint will never be solved
  | BlockedCIS     -- this constraint is blocked on a coercion hole
                   -- The hole will appear in the ctEvPred of the constraint with this status
                   -- See Note [Equalities with incompatible kinds] in "GHC.Tc.Solver.Canonical"
                   -- Wrinkle (4a)
  | OtherCIS

Idea: record in the status the reason that the thing is irreducible, then the error-reporting machinery would not need to reconstruct it.

Await !4149 (closed) landing

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information