summaryrefslogtreecommitdiff
path: root/compiler/iface/TcIface.lhs
diff options
context:
space:
mode:
authorTrevor Elliott <trevor@galois.com>2013-09-08 18:25:48 -0700
committerTrevor Elliott <trevor@galois.com>2013-09-08 18:25:48 -0700
commit4174458178cf484b15874ac8656e41fe35be46f3 (patch)
treecc737628b0ebc89210d3476ab47ca9ccae568f9d /compiler/iface/TcIface.lhs
parent13d4096e0668e9f80a8601122affc64f8be295de (diff)
downloadhaskell-4174458178cf484b15874ac8656e41fe35be46f3.tar.gz
Add IfacePromotionInfodata-kind-syntax
* Remove the orphan instance for PromotionInfo from types/TyCon.lhs
Diffstat (limited to 'compiler/iface/TcIface.lhs')
-rw-r--r--compiler/iface/TcIface.lhs9
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/iface/TcIface.lhs b/compiler/iface/TcIface.lhs
index 2d18a74d1b..6c37654a51 100644
--- a/compiler/iface/TcIface.lhs
+++ b/compiler/iface/TcIface.lhs
@@ -473,10 +473,17 @@ tc_iface_decl parent _ (IfaceData {ifName = occ_name,
; parent' <- tc_parent tyvars mb_axiom_name
; cons <- tcIfaceDataCons tc_name tycon tyvars rdr_cons
; return (buildAlgTyCon tc_name tyvars roles cType stupid_theta
- cons is_rec is_prom gadt_syn parent') }
+ cons is_rec is_prom' gadt_syn parent') }
; traceIf (text "tcIfaceDecl4" <+> ppr tycon)
; return (ATyCon tycon) }
where
+
+ is_prom' :: PromotionInfo ()
+ is_prom' = case is_prom of
+ IfaceNeverPromote -> NeverPromote
+ IfaceNotPromotable -> NotPromotable
+ IfacePromotable -> Promotable ()
+
tc_parent :: [TyVar] -> Maybe Name -> IfL TyConParent
tc_parent _ Nothing = return parent
tc_parent tyvars (Just ax_name)