
#15368: Type families, holes and -fdefer-type-errors may cause 'opt_univ fell into a hole' panic -------------------------------------+------------------------------------- Reporter: dramforever | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Compile-time Unknown/Multiple | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- This program, when compiled like `ghc -fdefer-type-errors -c panic.hs`: {{{#!hs {-# LANGUAGE TypeFamilies #-} module MorePanic where transitive :: (a, b) -> (b, c) -> (a, c) transitive = undefined trigger :: a -> b -> (F a b, F b a) trigger _ _ = _ `transitive` trigger _ _ type family F (n :: *) (m :: *) :: * }}} Gives this panic after several error messages: {{{ ghc.EXE: panic! (the 'impossible' happened) (GHC version 8.4.3 for x86_64-unknown-mingw32): opt_univ fell into a hole {co_a7Sj} Call stack: CallStack (from HasCallStack): callStackDoc, called at compiler\utils\Outputable.hs:1150:37 in ghc:Outputable pprPanic, called at compiler\\types\\OptCoercion.hs:242:5 in ghc:OptCoercion Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} This bug also affects GHCi. Attached is full output -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15368 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler