Simon Peyton Jones pushed to branch wip/T23162-spj at Glasgow Haskell Compiler / GHC
Commits:
-
142ce546
by Simon Peyton Jones at 2025-09-15T17:48:11+01:00
1 changed file:
Changes:
... | ... | @@ -438,7 +438,7 @@ tryEqFunDeps :: EqCt -> SolverStage () |
438 | 438 | tryEqFunDeps work_item@(EqCt { eq_lhs = lhs, eq_eq_rel = eq_rel })
|
439 | 439 | | NomEq <- eq_rel
|
440 | 440 | , TyFamLHS tc args <- lhs
|
441 | - = tryFamEqFunDeps tc args work_item
|
|
441 | + = tryFamEqFunDeps tc args work_item -- We have F args ~ rhs
|
|
442 | 442 | | otherwise
|
443 | 443 | = nopStage ()
|
444 | 444 | |
... | ... | @@ -455,7 +455,6 @@ tryFamEqFunDeps fam_tc args work_item@(EqCt { eq_ev = ev, eq_rhs = rhs }) |
455 | 455 | mkTopBuiltinFamEqFDs fam_tc ops args rhs }
|
456 | 456 | |
457 | 457 | | Injective inj_flags <- tyConInjectivityInfo fam_tc
|
458 | - , isWanted ev
|
|
459 | 458 | = if isGiven ev
|
460 | 459 | then nopStage () -- See (INJFAM:Given)
|
461 | 460 | else do { -- Note [Do local fundeps before top-level instances]
|
... | ... | @@ -776,8 +775,8 @@ solveFunDeps work_ev fd_eqns |
776 | 775 | nestFunDepsTcS $
|
777 | 776 | do { (_, eqs) <- wrapUnifier work_ev Nominal do_fundeps
|
778 | 777 | ; solveSimpleWanteds eqs }
|
779 | - -- ToDo: why solveSimpleWanteds? Answer
|
|
780 | - -- (a) don't rely on eager unifier
|
|
778 | + -- Why solveSimpleWanteds? Answer
|
|
779 | + -- (a) We don't want to rely on the eager unifier being clever
|
|
781 | 780 | -- (b) F Int alpha ~ Maybe Int where type instance F Int x = Maybe x
|
782 | 781 | |
783 | 782 | ; return unif_happened }
|