
#13055: Adding INLINABLE pragma causes GHC panic -------------------------------------+------------------------------------- Reporter: mpickering | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 8.0.1 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 rwbarton): The panic. I don't know what you mean with `idInfo`. It was trying to build `libraries/transformers/dist- install/build/Control/Applicative/Backwards.o`. {{{ ghc-stage1: panic! (the 'impossible' happened) (GHC version 8.1.20170102 for x86_64-unknown-linux): Iface Lint failure In interface for GHC.Base Unfolding of <**> <no location info>: warning: In the expression: $ @ a @ b Kinds don't match in type application: Type variable: r_1i :: RuntimeRep Arg type: a :: * xx * <no location info>: warning: In the expression: flip @ (a -> b) @ a @ b ($ @ a @ b) Argument value doesn't match argument type: Fun type: ((a -> b) -> a -> b) -> a -> (a -> b) -> b Arg type: forall (b :: TYPE a). (b -> b) -> b -> b Arg: $ @ a @ b <**> = \ (@ (f_a6mX :: * -> *)) (@ a_a6mY) (@ b_a6mZ) ($dApplicative_a6n0 :: Applicative f) -> liftA2 @ f @ a @ (a -> b) @ b $dApplicative_a6n0 (flip @ (a -> b) @ a @ b ($ @ a @ b)) Iface expr = \ @ f :: * -> * @ a @ b ($dApplicative :: Applicative f) -> liftA2 @ f @ a @ (a -> b) @ b $dApplicative (flip @ (a -> b) @ a @ b ($ @ a @ b)) }}} I'm not sure where `$ @ a @ b` came from but it seems to be treating `a` as the kind/representation argument when clearly it was intended to be the `a` in `(a -> b) -> a -> b`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13055#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler