Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

ExplicitLevelImports: missing level check
Code: ```haskell {-# LANGUAGE ExplicitLevelImports #-} module N where a = True ``` ```haskell {-# LANGUAGE ExplicitLevelImports, TemplateHaskell #-} module M where import N import Language.Haskell.TH.Syntax x :: Q Exp x = [| a |] ``` The code in `M` compiles. Because we didn't quote-import N, we do not have access to `a` in the quote `[|| a ||]`. The level mismatch is resolved by using lift: the definition of `x` is equivalent to `x = lift a`. Let's now change `import N` to `import splice N`. Then, unexpectedly, `x` still compiles to a lift, even though that should be a level error. Writing `x = lift a` explicitly correctly fails. In other words, GHC should check that an implicit lift goes one level up, and not just any positive amount.
issue