diff options
author | Apoorv Ingle <apoorv-ingle@uiowa.edu> | 2023-02-06 09:13:10 -0600 |
---|---|---|
committer | sheaf <sam.derbyshire@gmail.com> | 2023-03-06 23:26:12 +0000 |
commit | c6432eacdac8e8fd135e52b2fb51bcb43b6913c3 (patch) | |
tree | 7e828ea71d138b4b94695e76250da93a22e94711 /docs | |
parent | cad5c5760f6fe06057eb7ad9927b9c1e83417c1e (diff) | |
download | haskell-c6432eacdac8e8fd135e52b2fb51bcb43b6913c3.tar.gz |
Constraint simplification loop now depends on `ExpansionFuel`
instead of a boolean flag for `CDictCan.cc_pend_sc`.
Pending givens get a fuel of 3 while Wanted and quantified constraints get a fuel of 1.
This helps pending given constraints to keep up with pending wanted constraints in case of
`UndecidableSuperClasses` and superclass expansions while simplifying the infered type.
Adds 3 dynamic flags for controlling the fuels for each type of constraints
`-fgivens-expansion-fuel` for givens `-fwanteds-expansion-fuel` for wanteds and `-fqcs-expansion-fuel` for quantified constraints
Fixes #21909
Added Tests T21909, T21909b
Added Note [Expanding Recursive Superclasses and ExpansionFuel]
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/expected-undocumented-flags.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/docs/users_guide/expected-undocumented-flags.txt b/docs/users_guide/expected-undocumented-flags.txt index 1e8cd4f4cc..6fa3f2f27d 100644 --- a/docs/users_guide/expected-undocumented-flags.txt +++ b/docs/users_guide/expected-undocumented-flags.txt @@ -33,6 +33,9 @@ -fbang-patterns -fbuilding-cabal-package -fconstraint-solver-iterations +-fgivens-expansion-fuel +-fwanteds-expansion-fuel +-fqcs-expansion-fuel -fcontext-stack -fcross-module-specialize -fdiagnostics-color=always |