@@ -107,6 +107,7 @@ separatedDecls (TypeSignature n) (FunctionBody n') = n /= n'
107107separatedDecls (FunctionBody n) x | Just n' <- isPragma x = n /= n'
108108separatedDecls x y | Just n <- isPragma x, Just n' <- isPragma y = n /= n'
109109separatedDecls x (TypeSignature n') | Just n <- isPragma x = n /= n'
110+separatedDecls (PatternSignature n) (Pattern n') = n /= n'
110111separatedDecls _ _ = True
111112
112113isPragma
@@ -126,7 +127,9 @@ pattern TypeSignature
126127 , SpecializePragma
127128 , SCCPragma
128129 , AnnTypePragma
129− , AnnValuePragma :: RdrName -> HsDecl GhcPs
130+ , AnnValuePragma
131+ , PatternSignature
132+ , Pattern :: RdrName -> HsDecl GhcPs
130133pattern TypeSignature n <- (sigRdrName -> Just n)
131134pattern FunctionBody n <- ValD NoExt (FunBind NoExt (L _ n) _ _ _)
132135pattern InlinePragma n <- SigD NoExt (InlineSig NoExt (L _ n) _)
@@ -134,6 +137,8 @@ pattern SpecializePragma n <- SigD NoExt (SpecSig NoExt (L _ n) _ _)
134137pattern SCCPragma n <- SigD NoExt (SCCFunSig NoExt _ (L _ n) _)
135138pattern AnnTypePragma n <- AnnD NoExt (HsAnnotation NoExt _ (TypeAnnProvenance (L _ n)) _)
136139pattern AnnValuePragma n <- AnnD NoExt (HsAnnotation NoExt _ (ValueAnnProvenance (L _ n)) _)
140+pattern PatternSignature n <- SigD NoExt (PatSynSig NoExt ((L _ n):_) _)
141+pattern Pattern n <- ValD NoExt (PatSynBind NoExt (PSB _ (L _ n) _ _ _))
137142
138143sigRdrName :: HsDecl GhcPs -> Maybe RdrName
139144sigRdrName (SigD NoExt (TypeSig NoExt ((L _ n):_) _)) = Just n