Mark template-haskell as explicitly Safe / Trustworthy.
The template-haskell modules seem to be trustworthy since 2.12.0.0 or so, but not explicitly marked as such. Package in increasing amount depend on template-haskell in simple way, e.e.g to
deriving instance Lift URI
It would be great, if template-haskell were explicitly Safe / Trustworthy. E.g. docs for GHC-8.10.1 rc1 are correctly saying that Language.Haskell.TH is "just" SafeHaskell-inferred: https://downloads.haskell.org/ghc/8.10.1-rc1/docs/html/libraries/template-haskell-2.16.0.0/Language-Haskell-TH.html
And when I compile a package with -Winferred-safe-imports I get
Network/URI/Static.hs:27:1: warning: [-Winferred-safe-imports]
Importing Safe-Inferred module Language.Haskell.TH.Lib from explicitly Safe module
|
27 | import Language.Haskell.TH.Lib (ExpQ)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Network/URI/Static.hs:28:1: warning: [-Winferred-safe-imports]
Importing Safe-Inferred module Language.Haskell.TH.Quote from explicitly Safe module
|
28 | import Language.Haskell.TH.Quote (QuasiQuoter(..))
|
EDIT: The patch should be trivial, as pretty is explicitly Safe, so keeping SafeHaskell invariant shouldn't be a problem.