summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
5ca2e94)
ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
families an IfaceSyn can introduce subordinate binders. Result:
chaos.
The fix is easy though. Merge to 6.8 branch.
dcww_occ = mkDataConWorkerOcc dc_occ
is_newtype = n_sigs + n_ctxt == 1 -- Sigh
dcww_occ = mkDataConWorkerOcc dc_occ
is_newtype = n_sigs + n_ctxt == 1 -- Sigh
-ifaceDeclSubBndrs _other = []
+ifaceDeclSubBndrs (IfaceSyn {ifName = tc_occ,
+ ifFamInst = famInst})
+ = famInstCo famInst tc_occ
+
+ifaceDeclSubBndrs _ = []
-- coercion for data/newtype family instances
famInstCo Nothing baseOcc = []
-- coercion for data/newtype family instances
famInstCo Nothing baseOcc = []