Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Error reporting is worse/missing under ghc 9.12.2 (compared to 9.10.3)

Đang mở
#855 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
Nửa ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
haskell
Lĩnh vực
build-system

Hướng nghiên cứu

The error is raised at src/Development/Shake/Internal/Rules/File.hs:179, and the issue links commit fc82eee7982cc54db8907892cd688bcd73d11d1e, which may already address this. Start by checking whether that commit is in the current master, then run the Example.hs script under GHC 9.12.2 to see whether the 'rule finished running but did not produce file' message appears. Done means the missing-output error is reported with its message and call site under 9.12.2, as it is under 9.10.3.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi - thanks for your work on shake. I noticed that the error reporting degraded somewhat under ghc 9.12.2:

In a Example.hs like:

#!/usr/bin/env cabal
{- cabal:
build-depends:
    base
  , shake
-}

import Development.Shake

main :: IO ()
main = shakeArgs shakeOptions $ do
  want ["foo.txt"]

  "*.txt" %> \out -> do
    pure ()

Running this with ghc 9.10.3:

~
❮ ghcup set ghc 9.10.3
[ Info  ] GHC 9.10.3 successfully set as default version

Gives a helpful error message:

~
↪  ./Example.hs
Error when running Shake build system:
  at want, called at /path/to/Example.hs:14:3 in fake-package-0-inplace-script-Example.hs:Main
* Depends on: foo.txt
  at error, called at src/Development/Shake/Internal/Rules/File.hs:179:58 in shake-0.19.8-488b5a5cc87df829ac1c6a3ebfeceebc03fee9a278623f5d982bfc78c9b4a532:Development.Shake.Internal.Rules.File
* Raised the exception:
Error, rule finished running but did not produce file:
  foo.txt

But with ghc 9.12.2:

ghcup set ghc 9.12.2

It returns:

cabal-script-Example.hs: Uncaught exception ghc-internal:GHC.Internal.Exception.ErrorCall:

ErrorCallWithLocation has been deprecated in favour of ErrorCall (which does not have a location). Backtraces are now handled by the backtrace exception mechanisms exclusively.

HasCallStack backtrace:
  error, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:184:68 in ghc-internal:GHC.Internal.Exception

Update: Looks like there were already some commits related to this (https://github.com/ndmitchell/shake/commit/fc82eee7982cc54db8907892cd688bcd73d11d1e). Is only a release missing?

Ngôn ngữ chính
Haskell
Star
802
Fork
128
Merge trung bình
3 ngày 5 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ndmitchell/shake

Tất cả issue của ndmitchell/shake

Issue tương tự

Thêm issue về Haskell

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.