
#8142: Panic on TypeFamilies compile ---------------------------------------+----------------------------------- Reporter: zenzike | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: MacOS X | Architecture: Type of failure: Compile-time crash | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: ---------------------------------------+----------------------------------- Comment (by dreixel): Seems to be fixed in HEAD: {{{ Test.hs:6:18: Couldn't match type ‛Nu f0’ with ‛Nu f’ NB: ‛Nu’ is a type function, and may not be injective The type variable ‛f0’ is ambiguous Expected type: a -> Nu f Actual type: a -> Nu f0 When checking that ‛h’ has the inferred type ‛forall (f :: * -> *) a. a -> Nu f’ Probable cause: the inferred type is ambiguous In an equation for ‛tracer’: tracer = h where h = (\ (_, b) -> ((outI . fmap h) b)) . out Test.hs:6:57: Occurs check: cannot construct the infinite type: a ~ f1 a Expected type: a -> (t0, f1 a) Actual type: Nu ((,) t0) -> (t0, Nu ((,) t0)) Relevant bindings include h :: a -> Nu f1 (bound at Test.hs:6:18) In the second argument of ‛(.)’, namely ‛out’ In the expression: (\ (_, b) -> ((outI . fmap h) b)) . out }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8142#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler