From c545e237063ca7341f696c5a352c0782be2c4d76 Mon Sep 17 00:00:00 2001 From: simonpj Date: Fri, 7 May 2010 13:21:09 +0000 Subject: Minor wibbles to HsBang stuff --- src/Haddock/Convert.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/Haddock/Convert.hs') diff --git a/src/Haddock/Convert.hs b/src/Haddock/Convert.hs index 7c409919..ac071660 100644 --- a/src/Haddock/Convert.hs +++ b/src/Haddock/Convert.hs @@ -167,12 +167,14 @@ synifyDataCon use_gadt_syntax dc = noLoc $ else synifyTyVars (dataConExTyVars dc) -- skip any EqTheta, use 'orig'inal syntax ctx = synifyCtx (dataConDictTheta dc) - linear_tys = zipWith (\ty strict -> + linear_tys = zipWith (\ty bang -> let tySyn = synifyType WithinType ty - in case strict of - -- HsNoBang never appears, it's implied instead. - HsNoBang -> tySyn - _ -> noLoc $ HsBangTy strict tySyn + in case bang of + HsUnpackFailed -> noLoc $ HsBangTy HsStrict tySyn + HsNoBang -> tySyn + -- HsNoBang never appears, it's implied instead. + _ -> noLoc $ HsBangTy bang tySyn + ) (dataConOrigArgTys dc) (dataConStrictMarks dc) field_tys = zipWith (\field synTy -> ConDeclField -- cgit v1.2.3