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 }
|