Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#855 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
Medio día
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
haskell
Área
build-system

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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?

Lenguaje dominante
Haskell
Estrellas
802
Forks
128
Merge medio
3 d 5 h
PR fusionados (30 d)
2

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ndmitchell/shake

Todos los issues de ndmitchell/shake

Issues similares

Más issues de Haskell

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.