Haddock panics when exporting a module with pattern synonyms
First of all: Haddock version: 2.14.3, GHC version: 7.8.3.
Create 2 files, PatSymDef.hs
and PatSymUse.hs
:
-- PatSymDef.hs
{-# Language PatternSynonyms #-}
module PatSymDef where
pattern Pat = ()
-- PatSymUse.hs
{-# Language PatternSynonyms #-}
module PatSymUse (module PatSymDef) where
import PatSymDef
Run Haddock on them:
[yom@shiny tmp]$ haddock -h PatSymDef.hs PatSymUse.hs
Haddock coverage:
Warning: Not found in environment: PatSymDef.Pat
50% ( 1 / 2) in 'PatSymDef'
haddock: panic! (the 'impossible' happened)
(GHC version 7.8.3 for x86_64-unknown-linux):
mkUsage
<<details unavailable>>
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
And with -ddump-if-trace
:
[yom@shiny tmp]$ haddock -h PatSymDef.hs PatSymUse.hs --optghc='-ddump-if-trace'
Haddock coverage:
Considering whether to load base:Prelude
Reading interface for base:Prelude;
reason: Prelude is directly imported
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Prelude.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Prelude.dyn_hi
updating EPS_
updating EPS_
Considering whether to load base:GHC.Base {- SYSTEM -}
Reading interface for base:GHC.Base;
reason: Loading orphan modules (base:GHC.Base)
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Base.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Base.dyn_hi
updating EPS_
Considering whether to load base:GHC.Float {- SYSTEM -}
Reading interface for base:GHC.Float;
reason: Loading orphan modules (base:GHC.Float)
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Float.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Float.dyn_hi
updating EPS_
Considering whether to load base:GHC.Real {- SYSTEM -}
Reading interface for base:GHC.Real;
reason: Loading orphan modules (base:GHC.Real)
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Real.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/GHC/Real.dyn_hi
updating EPS_
loadHiBootInterface main:PatSymDef
Starting fork { Declaration for Monad
Loading decl for GHC.Base.Monad
updating EPS_
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
Reading interface for ghc-prim:GHC.Prim;
reason: Need home interface for wired-in thing *
updating EPS_
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
tc-iface-class1 Monad
tc-iface-class2 Monad
tc-iface-class3 Monad
tc-iface-class4 Monad
buildClass
buildClass GHC.Base.Monad
} ending fork Declaration for Monad
Need decl for Control.Applicative.Applicative
Considering whether to load base:Control.Applicative {- SYSTEM -}
Reading interface for base:Control.Applicative;
reason: Need decl for Control.Applicative.Applicative
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Control/Applicative.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Control/Applicative.dyn_hi
updating EPS_
Starting fork { Declaration for Applicative
Loading decl for Control.Applicative.Applicative
updating EPS_
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
tc-iface-class1 Applicative
tc-iface-class2 Applicative
tc-iface-class3 Applicative
tc-iface-class4 Applicative
buildClass
buildClass Control.Applicative.Applicative
} ending fork Declaration for Applicative
Need decl for Control.Monad.MonadPlus
Considering whether to load base:Control.Monad {- SYSTEM -}
Reading interface for base:Control.Monad;
reason: Need decl for Control.Monad.MonadPlus
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Control/Monad.hi
readIFace /usr/lib/ghc-7.8.3/base-4.7.0.1/Control/Monad.dyn_hi
updating EPS_
Starting fork { Declaration for MonadPlus
Loading decl for Control.Monad.MonadPlus
updating EPS_
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
tc-iface-class1 MonadPlus
tc-iface-class2 MonadPlus
tc-iface-class3 MonadPlus
tc-iface-class4 MonadPlus
buildClass
buildClass Control.Monad.MonadPlus
} ending fork Declaration for MonadPlus
Starting fork { Declaration for Alternative
Loading decl for Control.Applicative.Alternative
updating EPS_
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
Considering whether to load ghc-prim:GHC.Prim {- SYSTEM -}
tc-iface-class1 Alternative
tc-iface-class2 Alternative
tc-iface-class3 Alternative
tc-iface-class4 Alternative
buildClass
buildClass Control.Applicative.Alternative
} ending fork Declaration for Alternative
==================== Interface statistics ====================
Renamer stats: 7 interfaces read
4 type/class/variable imported, out of 1234 read
0 instance decls imported, out of 97 read
0 rule decls imported, out of 53 read
Need decl for PatSymDef.Pat
Considering whether to load main:PatSymDef {- SYSTEM -}
Warning: Not found in environment: PatSymDef.Pat
50% ( 1 / 2) in 'PatSymDef'
Considering whether to load base:Prelude
Considering whether to load main:PatSymDef
updating EPS_
Considering whether to load base:GHC.Base {- SYSTEM -}
Considering whether to load base:GHC.Float {- SYSTEM -}
Considering whether to load base:GHC.Real {- SYSTEM -}
loadHiBootInterface main:PatSymUse
haddock: panic! (the 'impossible' happened)
(GHC version 7.8.3 for x86_64-unknown-linux):
mkUsage
<<details unavailable>>
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field | Value |
---|---|
Version | 7.8.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |