Commit d5659c2d authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

FIX #1715: egregious bug in ifaceDeclSubBndrs

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.
parent 5ca2e94e
...@@ -412,7 +412,11 @@ ifaceDeclSubBndrs (IfaceClass {ifCtxt = sc_ctxt, ifName = cls_occ, ...@@ -412,7 +412,11 @@ ifaceDeclSubBndrs (IfaceClass {ifCtxt = sc_ctxt, ifName = cls_occ,
dcww_occ = mkDataConWorkerOcc dc_occ dcww_occ = mkDataConWorkerOcc dc_occ
is_newtype = n_sigs + n_ctxt == 1 -- Sigh 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 -- coercion for data/newtype family instances
famInstCo Nothing baseOcc = [] famInstCo Nothing baseOcc = []
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment