Skip to content

Make `tcCheckSatisfiability` incremental (#18645)

Sebastian Graf requested to merge wip/T18645 into master

By taking and returning an inert set (InertCans). Every new TcS session can then pick up where a prior session left with setInertCans.

Fixes #18645 (closed) and #17836 (closed). Currently builds on !3937 (closed), !3633 (merged), !3959 (closed), only the last two commits are relevant.

I also had to extract the defn DsM into its own module GHC.HsToCore.Types (see discussion below or the commit message), which I consider a good refactoring anyway.

Edited by Sebastian Graf

Merge request reports