@@ -167,7 +167,7 @@ p_match' ::
167167 -- | Equations
168168 GRHSs GhcPs (Located body) ->
169169 R ()
170−p_match' placer render style isInfix strictness m_pats m_grhss = do
170+p_match' placer render style isInfix strictness m_pats GRHSs {..} = do
171171 -- NOTE Normally, since patterns may be placed in a multi-line layout, it
172172 -- is necessary to bump indentation for the pattern group so it's more
173173 -- indented than function name. This in turn means that indentation for
@@ -224,9 +224,8 @@ p_match' placer render style isInfix strictness m_pats m_grhss = do
224224 Case -> True
225225 LambdaCase -> True
226226 _ -> False
227− let GRHSs {..} = m_grhss
228− hasGuards = withGuards grhssGRHSs
229− unless (length grhssGRHSs > 1) $ do
227+ let hasGuards = withGuards grhssGRHSs
228+ unless (length grhssGRHSs > 1) $
230229 case style of
231230 Function _ | hasGuards -> return ()
232231 Function _ -> space >> txt "="
@@ -266,6 +265,7 @@ p_match' placer render style isInfix strictness m_pats m_grhss = do
266265 switchLayout [patGrhssSpan] $
267266 placeHanging placement p_body
268267 inci p_where
268+p_match' _ _ _ _ _ _ XGRHSs {} = notImplemented "XGRHSs"
269269
270270p_grhs :: GroupStyle -> GRHS GhcPs (LHsExpr GhcPs) -> R ()
271271p_grhs = p_grhs' exprPlacement p_hsExpr
@@ -395,7 +395,7 @@ p_stmt' placer render = \case
395395 -- such that it never occurs in 'p_stmt''. Consequently, handling it
396396 -- here would be redundant.
397397 notImplemented "ParStmt"
398− TransStmt {..} -> do
398+ TransStmt {..} ->
399399 -- NOTE 'TransStmt' only needs to account for render printing itself,
400400 -- since pretty printing of relevant statements (e.g., in 'trS_stmts')
401401 -- is handled through 'gatherStmt'.
@@ -484,7 +484,7 @@ p_hsLocalBinds = \case
484484p_hsRecField ::
485485 HsRecField' RdrName (LHsExpr GhcPs) ->
486486 R ()
487−p_hsRecField = \HsRecField {..} -> do
487+p_hsRecField HsRecField {..} = do
488488 p_rdrName hsRecFieldLbl
489489 unless hsRecPun $ do
490490 space
@@ -691,16 +691,16 @@ p_hsExpr' s = \case
691691 (comma >> breakpoint)
692692 (sitcc . located' (p_hsRecField . updName))
693693 rupd_flds
694− ExprWithTySig NoExt x affix -> sitcc $ do
694+ ExprWithTySig NoExt x HsWC {hswc_body = HsIB {..}} -> sitcc $ do
695695 located x p_hsExpr
696696 space
697697 txt "::"
698698 breakpoint
699− inci $ do
700− let HsWC {..} = affix
701− HsIB {..} = hswc_body
702− located hsib_body p_hsType
703− ArithSeq NoExt _ x -> do
699+ inci $ located hsib_body p_hsType
700+ ExprWithTySig NoExt _ HsWC {hswc_body = XHsImplicitBndrs {}} ->
701+ notImplemented "XHsImplicitBndrs"
702+ ExprWithTySig NoExt _ XHsWildCardBndrs {} -> notImplemented "XHsWildCardBndrs"
703+ ArithSeq NoExt _ x ->
704704 case x of
705705 From from -> brackets s . sitcc $ do
706706 located from p_hsExpr
@@ -911,7 +911,7 @@ p_pat = \case
911911 BangPat NoExt pat -> do
912912 txt "!"
913913 p_pat pat
914− ListPat NoExt pats -> do
914+ ListPat NoExt pats ->
915915 brackets S . sitcc $ sep (comma >> breakpoint) p_pat pats
916916 TuplePat NoExt pats boxing -> do
917917 let f =