X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FMkIface.lhs;h=8c1b2a0467aa9515cd6398406434ffeafb716eac;hb=8fd85c9d692f91a5b565bb0d54050c2ce6ac6ae2;hp=0d200d89bede37b5a994dd70edf0ff99b50f2f63;hpb=e12bd07bcadb0efb1da0b49801a4a43689ee508a;p=ghc-hetmet.git diff --git a/compiler/iface/MkIface.lhs b/compiler/iface/MkIface.lhs index 0d200d8..8c1b2a0 100644 --- a/compiler/iface/MkIface.lhs +++ b/compiler/iface/MkIface.lhs @@ -4,6 +4,13 @@ % \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module MkIface ( mkUsageInfo, -- Construct the usage info for a module @@ -840,7 +847,8 @@ mkIfaceExports exports -- Usually just one, but see Note [Original module] add_for_mod env mod - = add_one env mod (AvailTC tc_occ names_from_mod) + = add_one env mod (AvailTC tc_occ (sort names_from_mod)) + -- NB. sort the children, we need a canonical order where names_from_mod = [nameOccName n | n <- ns, nameModule n == mod] \end{code} @@ -1218,7 +1226,7 @@ tyThingToIfaceDecl (ATyCon tycon) ifConUnivTvs = toIfaceTvBndrs (dataConUnivTyVars data_con), ifConExTvs = toIfaceTvBndrs (dataConExTyVars data_con), ifConEqSpec = to_eq_spec (dataConEqSpec data_con), - ifConCtxt = toIfaceContext (dataConTheta data_con), + ifConCtxt = toIfaceContext (dataConEqTheta data_con ++ dataConDictTheta data_con), ifConArgTys = map toIfaceType (dataConOrigArgTys data_con), ifConFields = map getOccName (dataConFieldLabels data_con),