Skip to content

Use `Infinite` where appropriate and clean up some partial uni patterns.

Matthew Farkas-Dyck requested to merge strake/ghc:complete-uni-patterns-1 into master

We can use Infinite appropriately in at least a few situations: unique generation, and lists of names in GHC.Tc.Deriv.Functor and GHC.Runtime.Debugger. Also, at some sites where we clone or subst binders, we can use more precise types to avoid partial uni patterns.

Allows us to drop the losing instance MonadFail UniqSM.

Also slightly decreases allocation across the testsuite.

Edited by Matthew Farkas-Dyck

Merge request reports