summaryrefslogtreecommitdiff
path: root/testsuite/tests/backpack/should_fail/bkpfail17.stderr
diff options
context:
space:
mode:
authorsheaf <sam.derbyshire@gmail.com>2023-05-15 15:23:49 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-05-15 18:03:00 -0400
commit4d29ecdfcc79ad663e066d9f7d6d17b64c8c6c41 (patch)
tree985890c63aee54a2e94e31aa85cbec44652987b9 /testsuite/tests/backpack/should_fail/bkpfail17.stderr
parentd69cbd78999071d2d6479be40ae90ddd83b9942a (diff)
downloadhaskell-4d29ecdfcc79ad663e066d9f7d6d17b64c8c6c41.tar.gz
Migrate errors to diagnostics in GHC.Tc.Module
This commit migrates the errors in GHC.Tc.Module to use the new diagnostic infrastructure. It required a significant overhaul of the compatibility checks between an hs-boot or signature module and its implementation; we now use a Writer monad to accumulate errors; see the BootMismatch datatype in GHC.Tc.Errors.Types, with its panoply of subtypes. For the sake of readability, several local functions inside the 'checkBootTyCon' function were split off into top-level functions. We split off GHC.Types.HscSource into a "boot or sig" vs "normal hs file" datatype, as this mirrors the logic in several other places where we want to treat hs-boot and hsig files in a similar fashion. This commit also refactors the Backpack checks for type synonyms implementing abstract data, to correctly reject implementations that contain qualified or quantified types (this fixes #23342 and #23344).
Diffstat (limited to 'testsuite/tests/backpack/should_fail/bkpfail17.stderr')
-rw-r--r--testsuite/tests/backpack/should_fail/bkpfail17.stderr22
1 files changed, 11 insertions, 11 deletions
diff --git a/testsuite/tests/backpack/should_fail/bkpfail17.stderr b/testsuite/tests/backpack/should_fail/bkpfail17.stderr
index 2777b503ed..699de6374c 100644
--- a/testsuite/tests/backpack/should_fail/bkpfail17.stderr
+++ b/testsuite/tests/backpack/should_fail/bkpfail17.stderr
@@ -1,18 +1,18 @@
[1 of 2] Processing p
- [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, nothing )
+ [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, nothing )
[2 of 2] Processing q
Instantiating q
- [1 of 1] Including p[ShouldFail=base-4.16.0.0:Prelude]
- Instantiating p[ShouldFail=base-4.16.0.0:Prelude]
- [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, bkpfail17.out/p/p-2W6J7O3LvroH97zGxbPEGF/ShouldFail.o )
+ [1 of 1] Including p[ShouldFail=base-4.18.0.0:Prelude]
+ Instantiating p[ShouldFail=base-4.18.0.0:Prelude]
+ [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, bkpfail17.out\p\p-2W6J7O3LvroH97zGxbPEGF\ShouldFail.o )
-<no location info>: error:
+<no location info>: error: [GHC-15843]
• Type constructor ‘Either’ has conflicting definitions in the module
- and its hsig file
+ and its hsig file.
Main module: type Either :: * -> * -> *
data Either a b = Left a | Right b
- Hsig file: type role Either representational phantom phantom
- type Either :: * -> * -> * -> *
- data Either a b c = Left a
- The types have different kinds
- • while checking that Prelude implements signature ShouldFail in p[ShouldFail=Prelude]
+ Hsig file: type role Either representational phantom phantom
+ type Either :: * -> * -> * -> *
+ data Either a b c = Left a
+ The types have different kinds.
+ • While checking that ‘Prelude’ implements signature ‘ShouldFail’ in ‘p[ShouldFail=Prelude]’.