[Git][ghc/ghc][ghc-9.10] 7 commits: Put the newline after errors instead of before them
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Fri Apr 26 03:35:55 UTC 2024
Ben Gamari pushed to branch ghc-9.10 at Glasgow Haskell Compiler / GHC
Commits:
bcb5a91d by Jade at 2024-04-24T11:06:13-04:00
Put the newline after errors instead of before them
This mainly has consequences for GHCi but also slightly alters how the
output of GHC on the commandline looks.
Fixes: #22499
(cherry picked from commit 275e41a902f4aec8552707ec9924f2d0a20346d0)
- - - - -
be59c02c by Ben Gamari at 2024-04-25T12:51:45-04:00
Bump Cabal submodule to 3.12
- - - - -
5f4848c0 by Cheng Shao at 2024-04-25T12:54:20-04:00
ghc-bignum: remove obsolete ln script
This commit removes an obsolete ln script in ghc-bignum/gmp. See
060251c24ad160264ae8553efecbb8bed2f06360 for its original intention,
but it's been obsolete for a long time, especially since the removal
of the make build system. Hence the house cleaning.
(cherry picked from commit c62dc317c21026396a7a5581b90d17ef4c44f9ac)
- - - - -
f845a792 by Cheng Shao at 2024-04-25T12:54:22-04:00
ghc-bignum: update gmp to 6.3.0
This patch bumps the gmp-tarballs submodule and updates gmp to 6.3.0.
The tarball format is now xz, and gmpsrc.patch has been patched into
the tarball so hadrian no longer needs to deal with patching logic
when building in-tree GMP.
(cherry picked from commit 6399d52ba10d510a94c9db6552a4ea8aae8e003b)
- - - - -
92065500 by Cheng Shao at 2024-04-25T12:54:23-04:00
hadrian: remove obsolete Patch logic
This commit removes obsolete Patch logic from hadrian, given we no
longer need to patch the gmp tarball when building in-tree GMP.
(cherry picked from commit 65b4b92fa1e1989d055108a6077cc9119ee28acd)
- - - - -
1e77ded1 by Cheng Shao at 2024-04-25T12:54:24-04:00
autoconf: remove obsolete patch detection
This commit removes obsolete deletection logic of the patch command
from autoconf scripts, given we no longer need to patch anything in
the GHC build process.
(cherry picked from commit 71f28958454872db9c21c7d974dd0f0a7c7e8f3d)
- - - - -
bb67e8d5 by Sylvain Henry at 2024-04-25T12:56:03-04:00
JS: correctly handle RUBBISH literals (#24664)
(cherry picked from commit daeda83478d5b800d29661408dd67cc4b23df374)
- - - - -
22 changed files:
- compiler/GHC/StgToJS/Literal.hs
- compiler/GHC/Utils/Logger.hs
- configure.ac
- hadrian/cfg/system.config.in
- hadrian/src/Builder.hs
- hadrian/src/Rules/Gmp.hs
- libraries/Cabal
- libraries/ghc-bignum/gmp/gmp-tarballs
- − libraries/ghc-bignum/gmp/gmpsrc.patch
- − libraries/ghc-bignum/gmp/ln
- testsuite/tests/ghci/prog018/prog018.stdout
- testsuite/tests/ghci/scripts/T9140.stdout
- testsuite/tests/layout/layout001.stdout
- testsuite/tests/layout/layout003.stdout
- testsuite/tests/layout/layout004.stdout
- testsuite/tests/layout/layout006.stdout
- testsuite/tests/overloadedrecflds/ghci/GHCiDRF.stdout
- testsuite/tests/overloadedrecflds/ghci/T19314.stdout
- testsuite/tests/overloadedrecflds/ghci/duplicaterecfldsghci01.stdout
- testsuite/tests/rename/should_compile/T13839.stdout
- testsuite/tests/th/T7276a.stdout
- testsuite/tests/warnings/should_fail/CaretDiagnostics1.stderr
Changes:
=====================================
compiler/GHC/StgToJS/Literal.hs
=====================================
@@ -22,6 +22,7 @@ import GHC.StgToJS.Symbols
import GHC.Data.FastString
import GHC.Types.Literal
import GHC.Types.Basic
+import GHC.Types.RepType
import GHC.Utils.Misc
import GHC.Utils.Panic
import GHC.Utils.Outputable
@@ -68,7 +69,27 @@ genLit = \case
| otherwise -> return [ toJExpr (global (mkRawSymbol True name))
, ValExpr (JInt 0)
]
- LitRubbish {} -> return [ null_ ]
+ LitRubbish _ rr_ty ->
+ -- Generate appropriate rubbish literals, otherwise it might trip up the
+ -- code generator when a primop is applied to a rubbish literal (see #24664)
+ let reps = runtimeRepPrimRep (text "GHC.StgToJS.Literal.genLit") rr_ty
+ rub = \case
+ BoxedRep _ -> [ null_ ]
+ AddrRep -> [ null_, ValExpr (JInt 0) ]
+ WordRep -> [ ValExpr (JInt 0) ]
+ Word8Rep -> [ ValExpr (JInt 0) ]
+ Word16Rep -> [ ValExpr (JInt 0) ]
+ Word32Rep -> [ ValExpr (JInt 0) ]
+ Word64Rep -> [ ValExpr (JInt 0), ValExpr (JInt 0) ]
+ IntRep -> [ ValExpr (JInt 0) ]
+ Int8Rep -> [ ValExpr (JInt 0) ]
+ Int16Rep -> [ ValExpr (JInt 0) ]
+ Int32Rep -> [ ValExpr (JInt 0) ]
+ Int64Rep -> [ ValExpr (JInt 0), ValExpr (JInt 0) ]
+ DoubleRep -> [ ValExpr (JInt 0) ]
+ FloatRep -> [ ValExpr (JInt 0) ]
+ VecRep _ _ -> panic "GHC.StgToJS.Literal.genLit: VecRep unsupported"
+ in return (concatMap rub reps)
-- | generate a literal for the static init tables
genStaticLit :: Literal -> G [StaticLit]
=====================================
compiler/GHC/Utils/Logger.hs
=====================================
@@ -417,14 +417,13 @@ defaultLogAction logflags msg_class srcSpan msg
message = mkLocMessageWarningGroups (log_show_warn_groups logflags) msg_class srcSpan msg
printDiagnostics = do
- hPutChar stderr '\n'
caretDiagnostic <-
if log_show_caret logflags
then getCaretDiagnostic msg_class srcSpan
else pure empty
printErrs $ getPprStyle $ \style ->
withPprStyle (setStyleColoured True style)
- (message $+$ caretDiagnostic)
+ (message $+$ caretDiagnostic $+$ blankLine)
-- careful (#2302): printErrs prints in UTF-8,
-- whereas converting to string first and using
-- hPutStr would just emit the low 8 bits of
=====================================
configure.ac
=====================================
@@ -735,10 +735,6 @@ dnl ** check for tar
dnl if GNU tar is named gtar, look for it first.
AC_PATH_PROGS(TarCmd,gnutar gtar tar,tar)
-dnl ** check for patch
-dnl if GNU patch is named gpatch, look for it first
-AC_PATH_PROGS(PatchCmd,gpatch patch, patch)
-
dnl ** check for autoreconf
AC_PATH_PROG(AutoreconfCmd, autoreconf, autoreconf)
=====================================
hadrian/cfg/system.config.in
=====================================
@@ -17,7 +17,6 @@ sphinx-build = @SPHINXBUILD@
system-ghc = @WithGhc@
system-ghc-pkg = @GhcPkgCmd@
tar = @TarCmd@
-patch = @PatchCmd@
xelatex = @XELATEX@
makeindex = @MAKEINDEX@
makeinfo = @MAKEINFO@
=====================================
hadrian/src/Builder.hs
=====================================
@@ -8,10 +8,7 @@ module Builder (
-- * Builder properties
builderProvenance, systemBuilderPath, builderPath, isSpecified, needBuilders,
runBuilder, runBuilderWith, runBuilderWithCmdOptions, getBuilderPath,
- builderEnvironment,
-
- -- * Ad hoc builder invocation
- applyPatch
+ builderEnvironment
) where
import Control.Exception.Extra (Partial)
@@ -182,7 +179,6 @@ data Builder = Alex
| MergeObjects Stage -- ^ linker to be used to merge object files.
| Nm
| Objdump
- | Patch
| Python
| Ranlib
| Testsuite TestMode
@@ -439,7 +435,6 @@ systemBuilderPath builder = case builder of
Makeinfo -> fromKey "makeinfo"
Nm -> fromTargetTC "nm" (Toolchain.nmProgram . tgtNm)
Objdump -> fromKey "objdump"
- Patch -> fromKey "patch"
Python -> fromKey "python"
Ranlib -> fromTargetTC "ranlib" (maybeProg Toolchain.ranlibProgram . tgtRanlib)
Testsuite _ -> fromKey "python"
@@ -507,15 +502,6 @@ systemBuilderPath builder = case builder of
isSpecified :: Builder -> Action Bool
isSpecified = fmap (not . null) . systemBuilderPath
--- | Apply a patch by executing the 'Patch' builder in a given directory.
-applyPatch :: FilePath -> FilePath -> Action ()
-applyPatch dir patch = do
- let file = dir -/- patch
- needBuilders [Patch]
- path <- builderPath Patch
- putBuild $ "| Apply patch " ++ file
- quietly $ cmd' [Cwd dir, FileStdin file] [path, "-p0"]
-
-- Note [cmd wrapper]
-- ~~~~~~~~~~~~~~~~~~
-- `cmd'` is a wrapper for Shake's `cmd` that allows us to customize what is
=====================================
hadrian/src/Rules/Gmp.hs
=====================================
@@ -143,23 +143,18 @@ gmpRules = do
gmpP = takeDirectory gmpBuildP
ctx <- makeGmpPathContext gmpP
removeDirectory gmpBuildP
- -- Note: We use a tarball like gmp-4.2.4-nodoc.tar.bz2, which is
- -- gmp-4.2.4.tar.bz2 repacked without the doc/ directory contents.
+ -- Note: We use a tarball like gmp-4.2.4-nodoc.tar.xz, which is
+ -- gmp-4.2.4.tar.xz repacked without the doc/ directory contents.
-- That's because the doc/ directory contents are under the GFDL,
-- which causes problems for Debian.
tarball <- unifyPath . fromSingleton "Exactly one GMP tarball is expected"
- <$> getDirectoryFiles top [gmpBase -/- "gmp-tarballs/gmp*.tar.bz2"]
+ <$> getDirectoryFiles top [gmpBase -/- "gmp-tarballs/gmp*.tar.xz"]
withTempDir $ \dir -> do
let tmp = unifyPath dir
need [top -/- tarball]
build $ target ctx (Tar Extract) [top -/- tarball] [tmp]
- let patch = gmpBase -/- "gmpsrc.patch"
- patchName = takeFileName patch
- copyFile patch $ tmp -/- patchName
- applyPatch tmp patchName
-
let name = dropExtension . dropExtension $ takeFileName tarball
unpack = fromMaybe . error $ "gmpRules: expected suffix "
++ "-nodoc (found: " ++ name ++ ")."
=====================================
libraries/Cabal
=====================================
@@ -1 +1 @@
-Subproject commit 7d140c56d277c49fb8452729de3bb62c937017a0
+Subproject commit 59fd01457fa662bca17110bc7505ea52bf162135
=====================================
libraries/ghc-bignum/gmp/gmp-tarballs
=====================================
@@ -1 +1 @@
-Subproject commit 4f26049af40afb380eaf033ab91404cd2e214919
+Subproject commit 01149ce3471128e9fe0feca607579981f4b64395
=====================================
libraries/ghc-bignum/gmp/gmpsrc.patch deleted
=====================================
@@ -1,44 +0,0 @@
-diff -Naur gmp-6.2.1/Makefile.am gmpbuild/Makefile.am
---- gmp-6.2.1/Makefile.am 2020-11-15 02:45:09.000000000 +0800
-+++ gmpbuild/Makefile.am 2021-01-09 22:56:14.571708858 +0800
-@@ -112,7 +112,7 @@
- LIBGMPXX_LT_AGE = 6
-
-
--SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune doc
-+SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune
-
- EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf \
- COPYING.LESSERv3 COPYINGv2 COPYINGv3
-diff -Naur gmp-6.2.1/Makefile.in gmpbuild/Makefile.in
---- gmp-6.2.1/Makefile.in 2020-11-15 02:45:16.000000000 +0800
-+++ gmpbuild/Makefile.in 2021-01-10 16:15:37.387670402 +0800
-@@ -572,7 +572,7 @@
- LIBGMPXX_LT_CURRENT = 10
- LIBGMPXX_LT_REVISION = 1
- LIBGMPXX_LT_AGE = 6
--SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune doc
-+SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune
-
- # Put asl.h here for now.
-
-diff -Naur gmp-6.2.1/configure gmpbuild/configure
---- gmp-6.2.1/configure 2020-11-15 02:45:15.000000000 +0800
-+++ gmpbuild/configure 2021-01-10 16:13:59.196004951 +0800
-@@ -27985,7 +27985,7 @@
- # FIXME: Upcoming version of autoconf/automake may not like broken lines.
- # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
-
--ac_config_files="$ac_config_files Makefile mpf/Makefile mpn/Makefile mpq/Makefile mpz/Makefile printf/Makefile scanf/Makefile rand/Makefile cxx/Makefile tests/Makefile tests/devel/Makefile tests/mpf/Makefile tests/mpn/Makefile tests/mpq/Makefile tests/mpz/Makefile tests/rand/Makefile tests/misc/Makefile tests/cxx/Makefile doc/Makefile tune/Makefile demos/Makefile demos/calc/Makefile demos/expr/Makefile gmp.h:gmp-h.in gmp.pc:gmp.pc.in gmpxx.pc:gmpxx.pc.in"
-+ac_config_files="$ac_config_files Makefile mpf/Makefile mpn/Makefile mpq/Makefile mpz/Makefile printf/Makefile scanf/Makefile rand/Makefile cxx/Makefile tests/Makefile tests/devel/Makefile tests/mpf/Makefile tests/mpn/Makefile tests/mpq/Makefile tests/mpz/Makefile tests/rand/Makefile tests/misc/Makefile tests/cxx/Makefile tune/Makefile demos/Makefile demos/calc/Makefile demos/expr/Makefile gmp.h:gmp-h.in gmp.pc:gmp.pc.in gmpxx.pc:gmpxx.pc.in"
-
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
-@@ -29129,7 +29129,6 @@
- "tests/rand/Makefile") CONFIG_FILES="$CONFIG_FILES tests/rand/Makefile" ;;
- "tests/misc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/misc/Makefile" ;;
- "tests/cxx/Makefile") CONFIG_FILES="$CONFIG_FILES tests/cxx/Makefile" ;;
-- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "tune/Makefile") CONFIG_FILES="$CONFIG_FILES tune/Makefile" ;;
- "demos/Makefile") CONFIG_FILES="$CONFIG_FILES demos/Makefile" ;;
- "demos/calc/Makefile") CONFIG_FILES="$CONFIG_FILES demos/calc/Makefile" ;;
=====================================
libraries/ghc-bignum/gmp/ln deleted
=====================================
@@ -1,3 +0,0 @@
-#!/bin/sh
-exit 1
-
=====================================
testsuite/tests/ghci/prog018/prog018.stdout
=====================================
@@ -1,7 +1,6 @@
[1 of 3] Compiling A ( A.hs, interpreted )
[2 of 3] Compiling B ( B.hs, interpreted )
[3 of 3] Compiling C ( C.hs, interpreted )
-
A.hs:5:1: warning: [GHC-62161] [-Wincomplete-patterns (in -Wextra)]
Pattern match(es) are non-exhaustive
In an equation for ‘incompletePattern’:
@@ -17,9 +16,10 @@ B.hs:7:1: warning: [GHC-66111] [-Wunused-imports (in -Wextra)]
C.hs:6:7: error: [GHC-88464]
Variable not in scope: variableNotInScope :: ()
+
Failed, two modules loaded.
[3 of 3] Compiling C ( C.hs, interpreted )
-
C.hs:6:7: error: [GHC-88464]
Variable not in scope: variableNotInScope :: ()
+
Failed, two modules reloaded.
=====================================
testsuite/tests/ghci/scripts/T9140.stdout
=====================================
@@ -1,4 +1,3 @@
-
<interactive>:2:5: error: [GHC-20036]
You can't mix polymorphic and unlifted bindings: a = (# 1 #)
Suggested fix: Add a type signature.
@@ -10,3 +9,4 @@
<interactive>:1:1: error: [GHC-17999]
GHCi can't bind a variable of unlifted type:
a :: (# Integer, Integer #)
+
=====================================
testsuite/tests/layout/layout001.stdout
=====================================
@@ -1,9 +1,9 @@
Running with -XNoAlternativeLayoutRule
Running with -XAlternativeLayoutRule
-
layout001.hs:6:3: error: [GHC-58481] parse error on input ‘where’
-Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
+Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
layout001.hs:6:3: warning: [GHC-93617] [-Walternative-layout-rule-transitional (in -Wdefault)]
transitional layout will not be accepted in the future:
`where' clause at the same depth as implicit layout block
+
=====================================
testsuite/tests/layout/layout003.stdout
=====================================
@@ -1,9 +1,9 @@
Running with -XNoAlternativeLayoutRule
Running with -XAlternativeLayoutRule
-
layout003.hs:11:4: error: [GHC-58481] parse error on input ‘|’
-Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
+Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
layout003.hs:11:4: warning: [GHC-93617] [-Walternative-layout-rule-transitional (in -Wdefault)]
transitional layout will not be accepted in the future:
`|' at the same depth as implicit layout block
+
=====================================
testsuite/tests/layout/layout004.stdout
=====================================
@@ -1,7 +1,7 @@
Running with -XNoAlternativeLayoutRule
Running with -XAlternativeLayoutRule
-
layout004.hs:7:14: error: [GHC-58481] parse error on input ‘,’
-Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
+Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
layout004.hs:7:14: error: [GHC-58481] parse error on input ‘,’
+
=====================================
testsuite/tests/layout/layout006.stdout
=====================================
@@ -1,13 +1,12 @@
Running with -XNoAlternativeLayoutRule
-
layout006.hs:12:4: warning: [GHC-53633] [-Woverlapping-patterns (in -Wdefault)]
Pattern match is redundant
In an equation for ‘f’: f | True = ...
-Running with -XAlternativeLayoutRule
+Running with -XAlternativeLayoutRule
layout006.hs:12:2: error: [GHC-58481] parse error on input ‘|’
-Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
+Running with -XAlternativeLayoutRule -XAlternativeLayoutRuleTransitional
layout006.hs:12:2: warning: [GHC-93617] [-Walternative-layout-rule-transitional (in -Wdefault)]
transitional layout will not be accepted in the future:
`|' at the same depth as implicit layout block
@@ -15,3 +14,4 @@ layout006.hs:12:2: warning: [GHC-93617] [-Walternative-layout-rule-transitional
layout006.hs:12:4: warning: [GHC-53633] [-Woverlapping-patterns (in -Wdefault)]
Pattern match is redundant
In an equation for ‘f’: f | True = ...
+
=====================================
testsuite/tests/overloadedrecflds/ghci/GHCiDRF.stdout
=====================================
@@ -1,10 +1,10 @@
GHCiDRF.foo :: T -> Int
-
<interactive>:1:1: error: [GHC-87543]
Ambiguous occurrence ‘GHCiDRF.bar’.
It could refer to
either the field ‘bar’ of record ‘T’, defined at GHCiDRF.hs:3:28,
or the field ‘bar’ of record ‘U’, defined at GHCiDRF.hs:4:16.
+
type T :: *
data T = MkT {foo :: Int, ...}
-- Defined at GHCiDRF.hs:3:16
@@ -16,7 +16,6 @@ type U :: *
data U = MkU {bar :: Bool}
-- Defined at GHCiDRF.hs:4:16
GHCiDRF.foo :: GHCiDRF.T -> Int
-
<interactive>:1:1: error: [GHC-87543]
Ambiguous occurrence ‘GHCiDRF.bar’.
It could refer to
@@ -26,6 +25,7 @@ GHCiDRF.foo :: GHCiDRF.T -> Int
or the field ‘bar’ belonging to data constructor ‘MkU’,
imported qualified from ‘GHCiDRF’
(and originally defined at GHCiDRF.hs:4:16-18).
+
type GHCiDRF.T :: *
data GHCiDRF.T = GHCiDRF.MkT {GHCiDRF.foo :: Int, ...}
-- Defined at GHCiDRF.hs:3:16
@@ -36,7 +36,6 @@ data GHCiDRF.T = GHCiDRF.MkT {..., GHCiDRF.bar :: Int}
type GHCiDRF.U :: *
data GHCiDRF.U = GHCiDRF.MkU {GHCiDRF.bar :: Bool}
-- Defined at GHCiDRF.hs:4:16
-
<interactive>:11:1: error: [GHC-87543]
Ambiguous occurrence ‘GHCiDRF.bar’.
It could refer to
@@ -46,3 +45,4 @@ data GHCiDRF.U = GHCiDRF.MkU {GHCiDRF.bar :: Bool}
or the field ‘bar’ belonging to data constructor ‘MkU’,
imported qualified from ‘GHCiDRF’
(and originally defined at GHCiDRF.hs:4:16-18).
+
=====================================
testsuite/tests/overloadedrecflds/ghci/T19314.stdout
=====================================
@@ -1,6 +1,5 @@
w :: [a] -> a
x :: [a] -> a
-
<interactive>:1:1: error: [GHC-88464]
Variable not in scope: y
Suggested fix:
@@ -12,3 +11,4 @@ x :: [a] -> a
Suggested fix:
Notice that ‘z’ is a field selector
that has been suppressed by NoFieldSelectors.
+
=====================================
testsuite/tests/overloadedrecflds/ghci/duplicaterecfldsghci01.stdout
=====================================
@@ -7,7 +7,6 @@ type T :: * -> *
data T a = MkT {foo :: Bool, ...}
-- Defined at <interactive>:4:18
True
-
<interactive>:1:1: error: [GHC-87543]
Ambiguous occurrence ‘foo’.
It could refer to
@@ -15,6 +14,7 @@ True
defined at <interactive>:3:16,
or the field ‘foo’ of record ‘T’,
defined at <interactive>:4:18.
+
type U :: *
data U = MkU {foo :: Int}
-- Defined at <interactive>:12:16
=====================================
testsuite/tests/rename/should_compile/T13839.stdout
=====================================
@@ -1,5 +1,5 @@
-
T13839a.hs:10:1: warning: [GHC-40910] [-Wunused-top-binds (in -Wextra, -Wunused-binds)]
Defined but not used: ‘nonUsed’
+
nonUsed :: ()
nonUsed :: ()
=====================================
testsuite/tests/th/T7276a.stdout
=====================================
@@ -1,4 +1,3 @@
-
<interactive>:3:9: warning: [GHC-83865] [-Wdeferred-type-errors (in -Wdefault)]
• Couldn't match type ‘[Dec]’ with ‘Exp’
Expected: Q Exp
@@ -17,3 +16,4 @@
(deferred type error)
Code: x
• In the untyped splice: $x
+
=====================================
testsuite/tests/warnings/should_fail/CaretDiagnostics1.stderr
=====================================
@@ -1,4 +1,3 @@
-
CaretDiagnostics1.hs:7:8-15: error: [GHC-83865]
• Couldn't match expected type ‘IO a0’ with actual type ‘Int’
• In the second argument of ‘(+)’, namely ‘(3 :: Int)’
@@ -68,3 +67,4 @@ CaretDiagnostics1.hs:23:25-26: error: [GHC-83865]
|
23 | tabby2 = ()
| ^^
+
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1261ec2fc0db926357c9d5dbbc0a69a621902694...bb67e8d5678a4a6a7d54606b623141bc44ef3b8d
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/1261ec2fc0db926357c9d5dbbc0a69a621902694...bb67e8d5678a4a6a7d54606b623141bc44ef3b8d
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240425/655c5c2f/attachment-0001.html>
More information about the ghc-commits
mailing list