
#11428: ImpredicativeTypes causes GHC panic with 8.0.1-rc1 -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: Type: bug | Status: closed Priority: high | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc1 checker) | Keywords: Resolution: fixed | ImpredicativeTypes, | TypeApplications 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: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => fixed Comment: Indeed this now fails with the error {{{ T11428.hs:12:13: error: • Couldn't match expected type ‘forall a. a -> a’ with actual type ‘Pipe o2 r0 -> Pipe o2 r0’ • When checking that: Pipe o2 r0 -> Pipe o2 r0 is more polymorphic than: forall a. a -> a The lambda expression ‘\ o' p' -> HaveOutput p' o'’ has two arguments, but its type ‘o2 -> forall a. a -> a’ has only one In the second argument of ‘maybe’, namely ‘(\ o' p' -> HaveOutput p' o')’ • Relevant bindings include f :: o1 -> Maybe o2 (bound at T11428.hs:11:16) mapOutputMaybe :: (o1 -> Maybe o2) -> Pipe o1 r -> Pipe o2 r (bound at T11428.hs:11:1) }}} When compiled with `ImpredicativeTypes`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11428#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler