summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>2020-06-14 21:14:28 +0200
committerJohn Ericson <John.Ericson@Obsidian.Systems>2022-03-19 15:22:11 +0000
commit508da98f81aca88f5f0ed3afb006f8ecf3c18dbe (patch)
tree52a627224351c43de5bed882b2d3b564d238f342
parentd45bb70178e044bc8b6e8215da7bc8ed0c95f2cb (diff)
downloadhaskell-508da98f81aca88f5f0ed3afb006f8ecf3c18dbe.tar.gz
Avoid catch-all in rnExpr and zonkExpr
-rw-r--r--compiler/GHC/Rename/Expr.hs6
-rw-r--r--compiler/GHC/Tc/Utils/Zonk.hs4
2 files changed, 7 insertions, 3 deletions
diff --git a/compiler/GHC/Rename/Expr.hs b/compiler/GHC/Rename/Expr.hs
index f1cb766077..bd0a7b8d16 100644
--- a/compiler/GHC/Rename/Expr.hs
+++ b/compiler/GHC/Rename/Expr.hs
@@ -554,8 +554,10 @@ rnExpr (HsProc x pat body)
{ (body',fvBody) <- rnCmdTop body
; return (HsProc x pat' body', fvBody) }
-rnExpr other = pprPanic "rnExpr: unexpected expression" (ppr other)
- -- HsWrap
+rnExpr expr@(HsConLikeOut _ _) = pprPanic "rnExpr: unexpected expression" (ppr expr)
+rnExpr expr@(HsTcBracketOut _ _ _ _) = pprPanic "rnExpr: unexpected expression" (ppr expr)
+rnExpr expr@(HsTick _ _ _) = pprPanic "rnExpr: unexpected expression" (ppr expr)
+rnExpr expr@(HsBinTick _ _ _ _) = pprPanic "rnExpr: unexpected expression" (ppr expr)
{- *********************************************************************
* *
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs
index b0af88d813..e55d0f072b 100644
--- a/compiler/GHC/Tc/Utils/Zonk.hs
+++ b/compiler/GHC/Tc/Utils/Zonk.hs
@@ -927,7 +927,9 @@ zonkExpr env (XExpr (ConLikeTc con tvs tys))
-- The tvs come straight from the data-con, and so are strictly redundant
-- See Wrinkles of Note [Typechecking data constructors] in GHC.Tc.Gen.Head
-zonkExpr _ expr = pprPanic "zonkExpr" (ppr expr)
+zonkExpr _ e@(HsBracket _ _) = pprPanic "zonkExpr" (ppr e)
+zonkExpr _ e@(HsTick _ _ _) = pprPanic "zonkExpr" (ppr e)
+zonkExpr _ e@(HsBinTick _ _ _ _) = pprPanic "zonkExpr" (ppr e)
-------------------------------------------------------------------------
{-