[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 8 commits: libraries: bump Cabal submodule to 3.16.1.0
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC Commits: cd23d0ec by Cheng Shao at 2026-02-04T00:14:56-05:00 libraries: bump Cabal submodule to 3.16.1.0 - - - - - aba76a1b by Cheng Shao at 2026-02-04T00:14:56-05:00 libraries: bump deepseq submodule to 1.5.2.0 Also: - Get rid of usage of deprecated `NFData` function instance in the compiler - `T21391` still relies on `NFData` function instance, add `-Wno-deprecations` for the time being. - - - - - 1dcdbfb1 by Cheng Shao at 2026-02-04T00:14:56-05:00 libraries: bump directory submodule to 1.3.10.1 - - - - - 7122a7cd by Cheng Shao at 2026-02-04T00:14:56-05:00 libraries: bump exceptions submodule to 0.10.12 - - - - - b3dce1e9 by Cheng Shao at 2026-02-04T00:14:57-05:00 libraries: bump filepath submodule to 1.5.5.0 - - - - - e09d65a1 by Cheng Shao at 2026-02-04T00:14:57-05:00 libraries: bump os-string submodule to 2.0.10 - - - - - 8c8f3858 by Andreas Klebinger at 2026-02-04T00:14:57-05:00 testsuite: Explicitly use utf-8 encoding in rts-includes linter. Not doing so caused failures on windows, as python failed to pick a reasonable encoding even with locale set. Fixes #26850 - - - - - 46281762 by Zubin Duggal at 2026-02-04T00:14:58-05:00 Bump transformers submodule to 0.6.3.0 Fixes #26790 - - - - - 10 changed files: - compiler/GHC/Unit/Module/ModIface.hs - libraries/Cabal - libraries/deepseq - libraries/directory - libraries/exceptions - libraries/filepath - libraries/os-string - libraries/transformers - testsuite/tests/linters/regex-linters/check-rts-includes.py - testsuite/tests/simplCore/should_compile/T21391.hs Changes: ===================================== compiler/GHC/Unit/Module/ModIface.hs ===================================== @@ -894,13 +894,7 @@ instance (NFData (IfaceAbiHashesExts phase), NFData (IfaceDeclExts phase)) => NF `seq` rnf a14 instance NFData IfaceCache where - rnf (IfaceCache a1 a2 a3 a4) - = rnf a1 - `seq` rnf a2 - `seq` rnf a3 - `seq` rnf a4 - - + rnf = rwhnf forceModIface :: ModIface -> IO () forceModIface iface = () <$ (evaluate $ force iface) ===================================== libraries/Cabal ===================================== @@ -1 +1 @@ -Subproject commit d9b0904b49dc84e0bfc79062daf2bbdf9d22a422 +Subproject commit 8d1f5a33662be0db0654061fb53fb00e3f4417e0 ===================================== libraries/deepseq ===================================== @@ -1 +1 @@ -Subproject commit ae2762ac241a61852c9ff4c287af234fb1ad931f +Subproject commit 882f52f51854544a467babd8cb075e3271f5913e ===================================== libraries/directory ===================================== @@ -1 +1 @@ -Subproject commit 6442a3cf04f74d82cdf8c9213324313d52b23d28 +Subproject commit 8c712e834f277544fc03e96dfbbb769126dc0a7c ===================================== libraries/exceptions ===================================== @@ -1 +1 @@ -Subproject commit 81bfd6e0ca631f315658201ae02e30046678f056 +Subproject commit a3da039855479e3c8542e8b45986599d0414ff68 ===================================== libraries/filepath ===================================== @@ -1 +1 @@ -Subproject commit cbcd0ccf92f47e6c10fb9cc513a7b26facfc19fe +Subproject commit baac7d7e76449f76fc6785e77206edb5530b6bfb ===================================== libraries/os-string ===================================== @@ -1 +1 @@ -Subproject commit c08666bf7bf528e607fc1eacc20032ec59e69df3 +Subproject commit 71f66e1af2288867becaa567dfb10c1d791b0343 ===================================== libraries/transformers ===================================== @@ -1 +1 @@ -Subproject commit cee47cca7705edafe0a5839439e679edbd61890a +Subproject commit 0d615bc2457d5d2c695dcfdb902d88c1225beff3 ===================================== testsuite/tests/linters/regex-linters/check-rts-includes.py ===================================== @@ -12,12 +12,16 @@ import re INCLUDE_RE = re.compile('# *include ([<"][^">]+[>"])') def get_includes(file: Path) -> List[Tuple[int, str]]: - txt = file.read_text() - return [ (line_no+1, m.group(1) ) - for (line_no, line) in enumerate(txt.split('\n')) - for m in [INCLUDE_RE.match(line)] - if m is not None - if m.group(1) != "rts/PosixSource.h"] + try: + txt = file.read_text(encoding="utf-8") + return [ (line_no+1, m.group(1) ) + for (line_no, line) in enumerate(txt.split('\n')) + for m in [INCLUDE_RE.match(line)] + if m is not None + if m.group(1) != "rts/PosixSource.h"] + except Exception as e: + e.add_note(f"While reading includes from {file}") + raise def in_rts_dir(path: Path) -> bool: return len(path.parts) > 0 and path.parts[0] == 'rts' @@ -40,9 +44,14 @@ class RtsHIncludeOrderLinter(Linter): '"ghcplatform.h"', } - includes = get_includes(path) - headers = [x[1] for x in includes] - lines = path.read_text().split('\n') + try: + includes = get_includes(path) + headers = [x[1] for x in includes] + lines = path.read_text(encoding="utf-8").split('\n') + # #26850 + except Exception as e: + e.add_note(f"Error while decoding path {path}") + raise e if '"PosixSource.h"' in headers: for line_no, header in includes: @@ -69,18 +78,22 @@ class PrivateIncludeLinter(Linter): def lint(self, path: Path): private = False - lines = path.read_text().split('\n') - for line_no, include in get_includes(path): - if include == '"BeginPrivate.h"': - private = True - elif include == '"EndPrivate.h"': - private = False - elif private: - self.add_warning(Warning( - path=path, - line_no=line_no, - line_content=lines[line_no-1], - message='System header %s found inside of <BeginPrivate.h> block' % include)) + try: + lines = path.read_text(encoding="utf-8").split('\n') + for line_no, include in get_includes(path): + if include == '"BeginPrivate.h"': + private = True + elif include == '"EndPrivate.h"': + private = False + elif private: + self.add_warning(Warning( + path=path, + line_no=line_no, + line_content=lines[line_no-1], + message='System header %s found inside of <BeginPrivate.h> block' % include)) + except Exception as e: + e.add_note(f"While handling {path}") + raise e linters = [ RtsHIncludeOrderLinter(), ===================================== testsuite/tests/simplCore/should_compile/T21391.hs ===================================== @@ -2,6 +2,8 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE RankNTypes #-} +{-# OPTIONS_GHC -Wno-deprecations #-} + module Web.Routing.SafeRouting where import Control.DeepSeq (NFData (..)) View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/16000e3575401e4ce9d19a69c6e8138... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/16000e3575401e4ce9d19a69c6e8138... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)