@@ -520,12 +520,6 @@ p_hsRecField HsRecField {..} = do
520520 else Normal
521521 placeHanging placement (located hsRecFieldArg p_hsExpr)
522522
523−p_hsTupArg :: HsTupArg GhcPs -> R ()
524−p_hsTupArg = \case
525− Present NoExtField x -> located x p_hsExpr
526− Missing NoExtField -> pure ()
527− XTupArg x -> noExtCon x
528−
529523p_hsExpr :: HsExpr GhcPs -> R ()
530524p_hsExpr = p_hsExpr' N
531525
@@ -638,22 +632,27 @@ p_hsExpr' s = \case
638632 let isRecordDot' = isRecordDot (unLoc op) (getLoc x)
639633 unless (useRecordDot' && isRecordDot') breakpoint
640634 inci (located x p_hsExpr)
641− ExplicitTuple NoExtField args boxity -> do
635+ ExplicitTuple NoExtField args boxity ->
642636 let isSection = any (isMissing . unLoc) args
643637 isMissing = \case
644638 Missing NoExtField -> True
645639 _ -> False
646− let parens' =
640+ p_arg = \case
641+ Present NoExtField x -> located x p_hsExpr
642+ Missing NoExtField -> pure ()
643+ XTupArg x -> noExtCon x
644+ p_larg = sitcc . located' p_arg
645+ parens' =
647646 case boxity of
648647 Boxed -> parens
649648 Unboxed -> parensHash
650− if isSection
651− then
652− switchLayout [] . parens' s $
653− sep comma (located' p_hsTupArg) args
654− else
655− switchLayout (getLoc <$> args) . parens' s $
656− sep commaDel (sitcc . located' p_hsTupArg) args
649+ in if isSection
650+ then
651+ switchLayout [] . parens' s $
652+ sep comma p_larg args
653+ else
654+ switchLayout (getLoc <$> args) . parens' s $
655+ sep commaDel p_larg args
657656 ExplicitSum NoExtField tag arity e ->
658657 p_unboxedSum N tag arity (located e p_hsExpr)
659658 HsCase NoExtField e mgroup ->