diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2015-10-27 14:24:56 +0000 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2015-12-14 15:46:04 +0000 |
commit | 617392c5df94fae16261e1d298ce5c87575233c8 (patch) | |
tree | 1b7018b2ac64e00955ab2c40d5ed7e5c1eefb61f /haddock-api/src/Haddock/Convert.hs | |
parent | 3fd2ed3213778c090ed5e27bd8a9e5bdee5c5135 (diff) |
Track change to PatSyn.patSynSig
Diffstat (limited to 'haddock-api/src/Haddock/Convert.hs')
-rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 7f807569..2458f027 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -100,7 +100,14 @@ tyThingToLHsDecl t = case t of (synifySigWcType ImplicitizeForAll (dataConUserType dc))) AConLike (PatSynCon ps) -> - allOK . SigD $ PatSynSig (synifyName ps) (synifySigType WithinType (patSynType ps)) + let (univ_tvs, req_theta, ex_tvs, prov_theta, arg_tys, res_ty) = patSynSig ps + qtvs = univ_tvs ++ ex_tvs + ty = mkFunTys arg_tys res_ty + in allOK . SigD $ PatSynSig (synifyName ps) + (Implicit, synifyTyVars qtvs) + (synifyCtx req_theta) + (synifyCtx prov_theta) + (synifyType WithinType ty) where withErrs e x = return (e, x) allOK x = return (mempty, x) |