[GHC] #11608: Possible type-checker regression in GHC 8.0 when compiling `microlens`

GHC ghc-devs at haskell.org
Fri Feb 19 11:14:59 UTC 2016


#11608: Possible type-checker regression in GHC 8.0 when compiling `microlens`
-------------------------------------+-------------------------------------
        Reporter:  hvr               |                Owner:
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.0.1
       Component:  Compiler (Type    |              Version:
  checker)                           |
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by hvr):

 hackage:free-4.12.4 has a similiar sudden failure:

 {{{
 Preprocessing library free-4.12.4...
 [ 1 of 16] Compiling Control.Monad.Free.TH ( src/Control/Monad/Free/TH.hs,
 dist/build/Control/Monad/Free/TH.o )
 [ 2 of 16] Compiling Control.Monad.Free.Class (
 src/Control/Monad/Free/Class.hs, dist/build/Control/Monad/Free/Class.o )

 src/Control/Monad/Free/Class.hs:106:3: error:
     • Couldn't match type ‘m’ with ‘t0 n0’
         ‘m’ is untouchable
           inside the constraints: (m ~ t n,
                                    MonadTrans t,
                                    MonadFree f n,
                                    Functor f)
           bound by the type signature for:
                      wrap :: (m ~ t n, MonadTrans t, MonadFree f n,
 Functor f) =>
                              f (m a) -> m a
           at src/Control/Monad/Free/Class.hs:106:3-24
     • In the ambiguity check for ‘wrap’
       To defer the ambiguity check to use sites, enable
 AllowAmbiguousTypes
       When checking the class method:
         wrap :: forall (f :: * -> *) (m :: * -> *).
                 MonadFree f m =>
                 forall a. f (m a) -> m a
       In the class declaration for ‘MonadFree’

 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11608#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list