diff options
Diffstat (limited to 'compiler/parser/RdrHsSyn.hs')
-rw-r--r-- | compiler/parser/RdrHsSyn.hs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/parser/RdrHsSyn.hs b/compiler/parser/RdrHsSyn.hs index a574fbe338..defad0fb51 100644 --- a/compiler/parser/RdrHsSyn.hs +++ b/compiler/parser/RdrHsSyn.hs @@ -565,13 +565,15 @@ done. tyConToDataCon :: SrcSpan -> RdrName -> Either (SrcSpan, SDoc) (Located RdrName) tyConToDataCon loc tc | isTcOcc occ || isDataOcc occ - , isLexCon (occNameFS occ) + , isLexCon cs + , cs /= fsLit "->" -- Fixes #16999 = return (cL loc (setRdrNameSpace tc srcDataName)) | otherwise = Left (loc, msg) where occ = rdrNameOcc tc + cs = occNameFS occ msg = text "Not a data constructor:" <+> quotes (ppr tc) mkPatSynMatchGroup :: Located RdrName |