diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2019-06-03 14:46:39 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2019-06-03 14:46:39 +0100 |
commit | 98cd2fad2629919daaebc9b37142c982958fa8f7 (patch) | |
tree | c42ad0ad35cf83da84faf01a0352fade4df5e76c /testsuite/tests/polykinds/T14172.stderr | |
parent | 799b1d26977b5841aa580e07c8f8e65356eed785 (diff) | |
download | haskell-98cd2fad2629919daaebc9b37142c982958fa8f7.tar.gz |
Preserve ShadowInfo when rewriting evidencewip/T16735
When the canonicaliser rewrites evidence of a Wanted, it
should preserve the ShadowInfo (ctev_nosh) field. That is,
a WDerive should rewrite to WDerive, and WOnly to WOnly.
Previously we were unconditionally making a WDeriv, thereby
rewriting WOnly to WDeriv. This bit Nick Frisby (issue #16735)
in the context of his plugin, but we don't have a compact test
case.
The fix is simple, but does involve a bit more plumbing,
to pass the old ShadowInfo around, to use when building
the new Wanted.
Diffstat (limited to 'testsuite/tests/polykinds/T14172.stderr')
-rw-r--r-- | testsuite/tests/polykinds/T14172.stderr | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/testsuite/tests/polykinds/T14172.stderr b/testsuite/tests/polykinds/T14172.stderr index 41790105cb..6a0d3927eb 100644 --- a/testsuite/tests/polykinds/T14172.stderr +++ b/testsuite/tests/polykinds/T14172.stderr @@ -11,12 +11,12 @@ T14172.hs:6:46: error: In the type ‘(a -> f b) -> g a -> f (h _)’ T14172.hs:7:19: error: - • Occurs check: cannot construct the infinite type: a ~ g'1 a + • Occurs check: cannot construct the infinite type: a ~ g'0 a Expected type: (f'0 a -> f (f'0 b)) - -> Compose f'0 g'1 a -> f (h a') - Actual type: (Unwrapped (Compose f'0 g'1 a) + -> Compose f'0 g'0 a -> f (h a') + Actual type: (Unwrapped (Compose f'0 g'0 a) -> f (Unwrapped (h a'))) - -> Compose f'0 g'1 a -> f (h a') + -> Compose f'0 g'0 a -> f (h a') • In the first argument of ‘(.)’, namely ‘_Wrapping Compose’ In the expression: _Wrapping Compose . traverse In an equation for ‘traverseCompose’: |