
#13609: regression: `ANN` pragmas for TH-less GHCs no longer ignored in GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.2.1-rc1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: GHC rejects Unknown/Multiple | valid program Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Consider {{{#!hs module M where {-# ANN myId "HLint: ignore" #-} myId :: a -> a myId x = x }}} GHC 8.0.2 would simply ignore them: {{{ $ ghc-8.0.2 -c M.hs M.hs:3:1: warning: Ignoring ANN annotation, because this is a stage-1 compiler or doesn't support GHCi }}} however, with a recent GHC 8.2 snapshot this just fails with {{{ $ ghc-8.2 -c M.hs ghc: this operation requires -fexternal-interpreter }}} This is a serious problem because `hlint` annotations are quite popular, and this would require us to retrofit `other-extensions: TemplateHaskell` into the meta-data of quite a few packages on Hackage to declare that a package no longer works with a TH-less GHC (which would basically mean that ports of GHC such as the one for AIX that don't support TH will become very inconvenient to use and require to pester package authors to explicitly guard `ANN` pragmas with CPP... which I'm not looking forward to ;-) ). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13609 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler