| CARVIEW |
Select Language
HTTP/2 301
server: nginx
date: Fri, 16 Jan 2026 14:44:37 GMT
content-type: text/html
content-length: 115
location: https://gitlab.haskell.org/ghc/ghc/-/issues/19191
cache-control: no-cache
nel: {"max_age": 0}
x-gitlab-meta: {"correlation_id":"01KF3M7WTEJRV6JE6VWPTNTG3H","version":"1"}
x-request-id: 01KF3M7WTEJRV6JE6VWPTNTG3H
x-runtime: 0.038287
HTTP/2 200
server: nginx
date: Fri, 16 Jan 2026 14:44:38 GMT
content-type: text/html; charset=utf-8
content-length: 52928
cache-control: max-age=0, private, must-revalidate
content-security-policy:
etag: W/"067111355e7f6fe6994be7e5201b88c6"
nel: {"max_age": 0}
permissions-policy: interest-cohort=()
referrer-policy: strict-origin-when-cross-origin
set-cookie: _gitlab_session=7806c9644971cbb141f5f4c7babb9353; path=/; secure; HttpOnly; SameSite=None
vary: Accept
x-content-type-options: nosniff
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-gitlab-meta: {"correlation_id":"01KF3M7X4T6E5TVKC8BPMWZ53N","version":"1"}
x-permitted-cross-domain-policies: none
x-request-id: 01KF3M7X4T6E5TVKC8BPMWZ53N
x-runtime: 0.421608
x-ua-compatible: IE=edge
x-xss-protection: 1; mode=block
Environment in Typechecker plugins does not match the passed in one (#19191) · Issues · Glasgow Haskell Compiler / GHC · GitLab
Skip to content
Environment in Typechecker plugins does not match the passed in one
When using typeCheckResultAction to write a type checker plugin the explicitly passed TcGblEnv and the TcGblEnv from the environment do not match up. The definition of typeCheckResultAction currently is
, typeCheckResultAction :: [CommandLineOption] -> ModSummary -> TcGblEnv
-> TcM TcGblEnv
-- ^ Modify the module when it is type checked. This is called at the
-- very end of typechecking.
In a plugin implementation one would expect
typeCheckResultAction = \_ _ tcg_gbl_env -> do
env <- getGblEnv
assert (env == tcg_gbl_env)
to hold but currently the TcGblEnv from the environment doesn't contain
- the module doc header
- the renamed exports (and export list)
(A workaround is to use setGblEnv tcg_gbl_env here but it sure is unexpected)
See !4766 (closed) for a fix.
Edited by alexbiehl-gc
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information