Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dbus-0.10.7 triggers internal error: internal: extractDecl #294

Closed
ghc-mirror opened this issue May 8, 2014 · 3 comments
Closed

dbus-0.10.7 triggers internal error: internal: extractDecl #294

ghc-mirror opened this issue May 8, 2014 · 3 comments

Comments

@ghc-mirror
Copy link

Original reporter: simons@

The haddock binary shipped with GHC 7.8.1-rc1 (version 2.14.0) fails with an internal error while processing the documentation of the dbus-0.10.7 library. A complete build log (from Linux/x86_64) is available at http://hydra.cryp.to/build/44040/nixlog/1/raw.

@ghc-mirror ghc-mirror self-assigned this May 8, 2014
@ghc-mirror
Copy link
Author

Original reporter: fuuzetsu@

Interesting, I can replicate with GHC and Haddock HEAD. Build instructions for anyone not wanting to go through the log:

cabal unpack dbus-0.10.7 && cd dbus-0.10.7
cabal sandbox init && cabal install --only-dependencies --enable-documentation
cabal configure --disable-split-objs --disable-library-profiling --enable-shared --enable-library-vanilla --enable-executable-dynamic --disable-tests  --ghc-option=-optl=-Wl
cabal haddock

I'll try to look at it today but no promises.

@ghc-mirror
Copy link
Author

Original reporter: haddock@

Be sure to check exporting:

  • Constructor of a data family instance
  • Record field of a data family instance
  • Constructor of an associated data family instance
  • Record field of an associated data family instance

@ghc-mirror
Copy link
Author

Original reporter: fuuzetsu@

Smaller test case

{-# LANGUAGE TypeFamilies #-}
-- This tests that we are able to extract record selectors for
-- associated types when the type itself is not exported. Making this
-- bug exhibit is very simple: simply mention a record field defined
-- inside of the associated type anywhere in the export list.
module Bug294 (problemField, T(..), TO(..)) where

class T t where
  data TO t :: *

instance T () where
  data TO () = AT { problemField :: Integer }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant