diff options
author | Apoorv Ingle <apoorv-ingle@uiowa.edu> | 2022-11-13 18:01:03 -0600 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-11-29 03:09:31 -0500 |
commit | 8d15eadc2a791062f0392ec0d1b3a30f7e214fa4 (patch) | |
tree | 69e55f5de6636dce165d0bc692ac21b9f765a5ce /testsuite/tests/rep-poly/T13929.stderr | |
parent | d4134e920a79ddfe7abb291964614e4f428c1a24 (diff) | |
download | haskell-8d15eadc2a791062f0392ec0d1b3a30f7e214fa4.tar.gz |
Killing cc_fundeps, streamlining kind equality orientation, and type equality processing order
Fixes: #217093
Associated to #19415
This change
* Flips the orientation of the the generated kind equality coercion in canEqLHSHetero;
* Removes `cc_fundeps` in CDictCan as the check was incomplete;
* Changes `canDecomposableTyConAppOk` to ensure we process kind equalities before type equalities and avoiding a call to `canEqLHSHetero` while processing wanted TyConApp equalities
* Adds 2 new tests for validating the change
- testsuites/typecheck/should_compile/T21703.hs and
- testsuites/typecheck/should_fail/T19415b.hs (a simpler version of T19415.hs)
* Misc: Due to the change in the equality direction some error messages now have flipped type mismatch errors
* Changes in Notes:
- Note [Fundeps with instances, and equality orientation] supercedes Note [Fundeps with instances]
- Added Note [Kind Equality Orientation] to visualize the kind flipping
- Added Note [Decomposing Dependent TyCons and Processing Wanted Equalties]
Diffstat (limited to 'testsuite/tests/rep-poly/T13929.stderr')
-rw-r--r-- | testsuite/tests/rep-poly/T13929.stderr | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/testsuite/tests/rep-poly/T13929.stderr b/testsuite/tests/rep-poly/T13929.stderr index 5c4a61b80d..fe8c845a8b 100644 --- a/testsuite/tests/rep-poly/T13929.stderr +++ b/testsuite/tests/rep-poly/T13929.stderr @@ -3,8 +3,8 @@ T13929.hs:29:24: error: [GHC-55287] • The tuple argument in first position does not have a fixed runtime representation. Its type is: - a0 :: TYPE c1 - Cannot unify ‘rf’ with the type variable ‘c1’ + a0 :: TYPE c0 + Cannot unify ‘rf’ with the type variable ‘c0’ because it is not a concrete ‘RuntimeRep’. • In the expression: (# gunbox x, gunbox y #) In an equation for ‘gunbox’: @@ -12,7 +12,6 @@ T13929.hs:29:24: error: [GHC-55287] In the instance declaration for ‘GUnbox (f :*: g) (TupleRep [rf, rg])’ • Relevant bindings include - x :: f p (bound at T13929.hs:29:13) gunbox :: (:*:) f g p -> GUnboxed (f :*: g) (TupleRep [rf, rg]) (bound at T13929.hs:29:5) |