diff options
author | Simon Peyton Jones <simon.peytonjones@gmail.com> | 2023-03-04 08:24:46 +0000 |
---|---|---|
committer | Simon Peyton Jones <simon.peytonjones@gmail.com> | 2023-03-22 09:50:13 +0000 |
commit | e0b8eaf3fc3d2ebbdcc86610b889930dbe5b4cdb (patch) | |
tree | 4f4c65db923be03b3cce67b2cc3f7fffe7131424 /testsuite | |
parent | ad765b6f0bb23576fb4e7690a29fa07fc1dfff11 (diff) | |
download | haskell-e0b8eaf3fc3d2ebbdcc86610b889930dbe5b4cdb.tar.gz |
Refactor the constraint solver pipelinewip/T23070
The big change is to put the entire type-equality solver into
GHC.Tc.Solver.Equality, rather than scattering it over Canonical
and Interact. Other changes
* EqCt becomes its own data type, a bit like QCInst. This is
great because EqualCtList is then just [EqCt]
* New module GHC.Tc.Solver.Dict has come of the class-contraint
solver. In due course it will be all. One step at a time.
This MR is intended to have zero change in behaviour: it is a
pure refactor. It opens the way to subsequent tidying up, we
believe.
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/linters/notes.stdout | 94 |
1 files changed, 46 insertions, 48 deletions
diff --git a/testsuite/tests/linters/notes.stdout b/testsuite/tests/linters/notes.stdout index edf75f2d77..0a8b2161fe 100644 --- a/testsuite/tests/linters/notes.stdout +++ b/testsuite/tests/linters/notes.stdout @@ -1,63 +1,61 @@ -ref compiler/GHC/Core/Coercion/Axiom.hs:461:2: Note [RoughMap and rm_empty] -ref compiler/GHC/Core/Opt/OccurAnal.hs:857:15: Note [Loop breaking] -ref compiler/GHC/Core/Opt/SetLevels.hs:1580:30: Note [Top level scope] -ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:2675:13: Note [Case binder next] -ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:3854:8: Note [Lambda-bound unfoldings] -ref compiler/GHC/Core/Opt/Simplify/Utils.hs:1257:37: Note [Gentle mode] -ref compiler/GHC/Core/Opt/Specialise.hs:1623:28: Note [Arity decrease] -ref compiler/GHC/Core/TyCo/Rep.hs:1748:31: Note [What prevents a constraint from floating] -ref compiler/GHC/Driver/Main.hs:1641:34: Note [simpleTidyPgm - mkBootModDetailsTc] -ref compiler/GHC/Driver/Session.hs:3961:49: Note [Eta-reduction in -O0] +ref compiler/GHC/Core/Coercion/Axiom.hs:463:2: Note [RoughMap and rm_empty] +ref compiler/GHC/Core/Opt/OccurAnal.hs:983:7: Note [Loop breaking] +ref compiler/GHC/Core/Opt/SetLevels.hs:1574:30: Note [Top level scope] +ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:2825:13: Note [Case binder next] +ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:4009:8: Note [Lambda-bound unfoldings] +ref compiler/GHC/Core/Opt/Simplify/Utils.hs:1343:37: Note [Gentle mode] +ref compiler/GHC/Core/Opt/Specialise.hs:1790:28: Note [Arity decrease] +ref compiler/GHC/Core/TyCo/Rep.hs:1556:31: Note [What prevents a constraint from floating] +ref compiler/GHC/Driver/Main.hs:1761:34: Note [simpleTidyPgm - mkBootModDetailsTc] +ref compiler/GHC/Driver/Session.hs:3976:49: Note [Eta-reduction in -O0] ref compiler/GHC/Hs/Expr.hs:191:63: Note [Pending Splices] -ref compiler/GHC/Hs/Expr.hs:1704:87: Note [Lifecycle of a splice] -ref compiler/GHC/Hs/Expr.hs:1740:7: Note [Pending Splices] -ref compiler/GHC/Hs/Extension.hs:144:5: Note [Strict argument type constraints] +ref compiler/GHC/Hs/Expr.hs:1706:87: Note [Lifecycle of a splice] +ref compiler/GHC/Hs/Expr.hs:1742:7: Note [Pending Splices] +ref compiler/GHC/Hs/Extension.hs:146:5: Note [Strict argument type constraints] ref compiler/GHC/Hs/Pat.hs:143:74: Note [Lifecycle of a splice] -ref compiler/GHC/HsToCore/Pmc/Solver.hs:854:20: Note [COMPLETE sets on data families] -ref compiler/GHC/HsToCore/Quote.hs:1460:7: Note [How brackets and nested splices are handled] -ref compiler/GHC/Rename/Pat.hs:888:29: Note [Disambiguating record fields] -ref compiler/GHC/Stg/Unarise.hs:313:32: Note [Renaming during unarisation] +ref compiler/GHC/HsToCore/Pmc/Solver.hs:858:20: Note [COMPLETE sets on data families] +ref compiler/GHC/HsToCore/Quote.hs:1476:7: Note [How brackets and nested splices are handled] +ref compiler/GHC/Rename/Pat.hs:890:29: Note [Disambiguating record fields] +ref compiler/GHC/Stg/Unarise.hs:442:32: Note [Renaming during unarisation] ref compiler/GHC/StgToCmm.hs:106:18: Note [codegen-split-init] ref compiler/GHC/StgToCmm.hs:109:18: Note [pipeline-split-init] -ref compiler/GHC/StgToCmm/Expr.hs:584:4: Note [case on bool] -ref compiler/GHC/StgToCmm/Expr.hs:848:3: Note [alg-alt heap check] -ref compiler/GHC/Tc/Gen/Expr.hs:1207:23: Note [Disambiguating record fields] -ref compiler/GHC/Tc/Gen/Expr.hs:1422:7: Note [Disambiguating record fields] -ref compiler/GHC/Tc/Gen/Expr.hs:1525:11: Note [Deprecating ambiguous fields] -ref compiler/GHC/Tc/Gen/HsType.hs:551:56: Note [Skolem escape prevention] -ref compiler/GHC/Tc/Gen/HsType.hs:2619:7: Note [Matching a kind signature with a declaration] -ref compiler/GHC/Tc/Gen/Pat.hs:171:20: Note [Typing patterns in pattern bindings] -ref compiler/GHC/Tc/Gen/Pat.hs:1101:7: Note [Matching polytyped patterns] -ref compiler/GHC/Tc/Gen/Sig.hs:79:10: Note [Overview of type signatures] +ref compiler/GHC/StgToCmm/Expr.hs:585:4: Note [case on bool] +ref compiler/GHC/StgToCmm/Expr.hs:853:3: Note [alg-alt heap check] +ref compiler/GHC/Tc/Gen/Expr.hs:1212:23: Note [Disambiguating record fields] +ref compiler/GHC/Tc/Gen/Expr.hs:1427:7: Note [Disambiguating record fields] +ref compiler/GHC/Tc/Gen/Expr.hs:1530:11: Note [Deprecating ambiguous fields] +ref compiler/GHC/Tc/Gen/HsType.hs:557:56: Note [Skolem escape prevention] +ref compiler/GHC/Tc/Gen/HsType.hs:2622:7: Note [Matching a kind signature with a declaration] +ref compiler/GHC/Tc/Gen/Pat.hs:176:20: Note [Typing patterns in pattern bindings] +ref compiler/GHC/Tc/Gen/Pat.hs:1127:7: Note [Matching polytyped patterns] +ref compiler/GHC/Tc/Gen/Sig.hs:81:10: Note [Overview of type signatures] ref compiler/GHC/Tc/Gen/Splice.hs:359:16: Note [How brackets and nested splices are handled] ref compiler/GHC/Tc/Gen/Splice.hs:534:35: Note [PendingRnSplice] ref compiler/GHC/Tc/Gen/Splice.hs:658:7: Note [How brackets and nested splices are handled] -ref compiler/GHC/Tc/Gen/Splice.hs:897:11: Note [How brackets and nested splices are handled] -ref compiler/GHC/Tc/Instance/Family.hs:515:35: Note [Constrained family instances] -ref compiler/GHC/Tc/Module.hs:704:15: Note [Extra dependencies from .hs-boot files] -ref compiler/GHC/Tc/Solver/Canonical.hs:1087:33: Note [Canonical LHS] -ref compiler/GHC/Tc/Solver/Interact.hs:1611:9: Note [No touchables as FunEq RHS] -ref compiler/GHC/Tc/Solver/Rewrite.hs:988:7: Note [Stability of rewriting] -ref compiler/GHC/Tc/TyCl.hs:1106:6: Note [Unification variables need fresh Names] -ref compiler/GHC/Tc/Types.hs:703:33: Note [Extra dependencies from .hs-boot files] -ref compiler/GHC/Tc/Types.hs:1434:47: Note [Care with plugin imports] -ref compiler/GHC/Tc/Types/Constraint.hs:253:34: Note [NonCanonical Semantics] -ref compiler/GHC/Types/Demand.hs:308:25: Note [Preserving Boxity of results is rarely a win] -ref compiler/GHC/Unit/Module/Deps.hs:82:13: Note [Structure of dep_boot_mods] -ref compiler/GHC/Utils/Monad.hs:391:34: Note [multiShotIO] -ref compiler/Language/Haskell/Syntax/Binds.hs:204:31: Note [fun_id in Match] -ref compiler/Language/Haskell/Syntax/Pat.hs:336:12: Note [Disambiguating record fields] -ref configure.ac:212:10: Note [Linking ghc-bin against threaded stage0 RTS] +ref compiler/GHC/Tc/Gen/Splice.hs:891:11: Note [How brackets and nested splices are handled] +ref compiler/GHC/Tc/Instance/Family.hs:474:35: Note [Constrained family instances] +ref compiler/GHC/Tc/Module.hs:708:15: Note [Extra dependencies from .hs-boot files] +ref compiler/GHC/Tc/Solver/Rewrite.hs:1008:7: Note [Stability of rewriting] +ref compiler/GHC/Tc/TyCl.hs:1119:6: Note [Unification variables need fresh Names] +ref compiler/GHC/Tc/Types.hs:697:33: Note [Extra dependencies from .hs-boot files] +ref compiler/GHC/Tc/Types.hs:1428:47: Note [Care with plugin imports] +ref compiler/GHC/Tc/Types/Constraint.hs:223:34: Note [NonCanonical Semantics] +ref compiler/GHC/Types/Demand.hs:306:25: Note [Preserving Boxity of results is rarely a win] +ref compiler/GHC/Unit/Module/Deps.hs:81:13: Note [Structure of dep_boot_mods] +ref compiler/GHC/Utils/Monad.hs:400:34: Note [multiShotIO] +ref compiler/Language/Haskell/Syntax/Binds.hs:200:31: Note [fun_id in Match] +ref compiler/Language/Haskell/Syntax/Pat.hs:356:12: Note [Disambiguating record fields] +ref configure.ac:210:10: Note [Linking ghc-bin against threaded stage0 RTS] ref docs/core-spec/core-spec.mng:177:6: Note [TyBinders] -ref hadrian/src/Expression.hs:130:30: Note [Linking ghc-bin against threaded stage0 RTS] +ref hadrian/src/Expression.hs:134:30: Note [Linking ghc-bin against threaded stage0 RTS] ref linters/lint-notes/Notes.hs:32:29: Note [" <> T.unpack x <> "] ref linters/lint-notes/Notes.hs:69:22: Note [...] -ref testsuite/config/ghc:243:10: Note [WayFlags] -ref testsuite/driver/testlib.py:153:10: Note [Why is there no stage1 setup function?] -ref testsuite/driver/testlib.py:157:2: Note [Why is there no stage1 setup function?] +ref testsuite/config/ghc:272:10: Note [WayFlags] +ref testsuite/driver/testlib.py:160:10: Note [Why is there no stage1 setup function?] +ref testsuite/driver/testlib.py:164:2: Note [Why is there no stage1 setup function?] ref testsuite/mk/boilerplate.mk:267:2: Note [WayFlags] ref testsuite/tests/indexed-types/should_fail/ExtraTcsUntch.hs:30:27: Note [Extra TcS Untouchables] -ref testsuite/tests/perf/should_run/all.T:3:6: Note [Solving from instances when interacting Dicts] +ref testsuite/tests/perf/should_run/all.T:8:6: Note [Solving from instances when interacting Dicts] ref testsuite/tests/polykinds/CuskFam.hs:16:11: Note [Unifying implicit CUSK variables] ref testsuite/tests/simplCore/should_compile/T5776.hs:16:7: Note [Simplifying RULE lhs constraints] ref testsuite/tests/simplCore/should_compile/simpl018.hs:3:7: Note [Float coercions] |