@@ -128,6 +128,10 @@ p_match style isInfix m_pats m_grhss = do
128128 _ -> txt " ->"
129129 let combinedSpans = combineSrcSpans' $
130130 getGRHSSpan . unL <$> NE.fromList grhssGRHSs
131+ placement = blockPlacement grhssGRHSs
132+ inciLocalBinds = case placement of
133+ Normal -> id
134+ Hanging -> inci
131135 p_body = do
132136 let groupStyle =
133137 case style of
@@ -137,11 +141,13 @@ p_match style isInfix m_pats m_grhss = do
137141 else EqualSign
138142 _ -> EqualSign
139143 newlineSep (located' (p_grhs groupStyle)) grhssGRHSs
140− unless (GHC.isEmptyLocalBindsPR (unL grhssLocalBinds)) $ do
141− newline
142− line (txt "where")
143− inci (located grhssLocalBinds p_hsLocalBinds)
144− placement = blockPlacement grhssGRHSs
144+ unless
145+ (GHC.isEmptyLocalBindsPR (unL grhssLocalBinds))
146+ (inciLocalBinds $ do
147+ newline
148+ line (txt "where")
149+ inci (located grhssLocalBinds p_hsLocalBinds)
150+ )
145151 case style of
146152 Lambda -> placeHanging placement $
147153 switchLayout combinedSpans p_body