diff options
author | sheaf <sam.derbyshire@gmail.com> | 2023-05-15 15:23:49 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-05-15 18:03:00 -0400 |
commit | 4d29ecdfcc79ad663e066d9f7d6d17b64c8c6c41 (patch) | |
tree | 985890c63aee54a2e94e31aa85cbec44652987b9 /testsuite/tests/backpack/should_fail/bkpfail05.stderr | |
parent | d69cbd78999071d2d6479be40ae90ddd83b9942a (diff) | |
download | haskell-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/bkpfail05.stderr')
-rw-r--r-- | testsuite/tests/backpack/should_fail/bkpfail05.stderr | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/testsuite/tests/backpack/should_fail/bkpfail05.stderr b/testsuite/tests/backpack/should_fail/bkpfail05.stderr index c07426fc6b..1827c7ff1a 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail05.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail05.stderr @@ -1,23 +1,23 @@ [1 of 5] Processing h - [1 of 1] Compiling H[sig] ( h/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( h\H.hsig, nothing ) [2 of 5] Processing t-impl Instantiating t-impl - [1 of 1] Compiling T ( t-impl/T.hs, bkpfail05.out/t-impl/T.o ) + [1 of 1] Compiling T ( t-impl\T.hs, bkpfail05.out\t-impl\T.o ) [3 of 5] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 2] Instantiating h [4 of 5] Processing h-impl Instantiating h-impl [1 of 1] Including t-impl - [1 of 1] Compiling H ( h-impl/H.hs, bkpfail05.out/h-impl/H.o ) + [1 of 1] Compiling H ( h-impl\H.hs, bkpfail05.out\h-impl\H.o ) [5 of 5] Processing q Instantiating q [1 of 1] Including p[H=h-impl:H] Instantiating p[H=h-impl:H] [1 of 2] Including h[H=h-impl:H] Instantiating h[H=h-impl:H] - [1 of 1] Compiling H[sig] ( h/H.hsig, bkpfail05.out/h/h-5FYQgnNkfSvBT5yogOxPpf/H.o ) + [1 of 1] Compiling H[sig] ( h\H.hsig, bkpfail05.out\h\h-5FYQgnNkfSvBT5yogOxPpf\H.o ) -bkpfail05.out/h/h-5FYQgnNkfSvBT5yogOxPpf/../H.hi:1:1: error: [GHC-93011] +bkpfail05.out\h\h-5FYQgnNkfSvBT5yogOxPpf\..\H.hi:1:1: error: [GHC-93011] • ‘T1’ is exported by the hsig file, but not exported by the implementing module ‘h-impl:H’ - • while checking that h-impl:H implements signature H in h[H=h-impl:H] + • While checking that ‘h-impl:H’ implements signature ‘H’ in ‘h[H=h-impl:H]’. |