diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-09-29 18:19:53 +0200 |
---|---|---|
committer | Sebastian Graf <sebastian.graf@kit.edu> | 2020-09-29 18:33:41 +0200 |
commit | 7810d1307498e0ee2bf8f28e18220203cd775b2a (patch) | |
tree | e54e26fb54662bc5b117fe82673c172d0e783954 | |
parent | 4365d77a0b306ada61654c3648b844cfa0f4fdcf (diff) | |
download | haskell-wip/T18767.tar.gz |
Pmc: Don't call exprType on type arguments (#18767)wip/T18767
Fixes #18767.
-rw-r--r-- | compiler/GHC/HsToCore/Pmc/Solver/Types.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/HsToCore/Pmc/Solver/Types.hs b/compiler/GHC/HsToCore/Pmc/Solver/Types.hs index f6fea1fbbf..4f92703764 100644 --- a/compiler/GHC/HsToCore/Pmc/Solver/Types.hs +++ b/compiler/GHC/HsToCore/Pmc/Solver/Types.hs @@ -62,6 +62,7 @@ import GHC.Builtin.Names import GHC.Builtin.Types import GHC.Builtin.Types.Prim import GHC.Tc.Solver.Monad (InertSet, emptyInert) +import GHC.Tc.Utils.TcType (isStringTy) import GHC.Driver.Types (ConLikeSet) import Numeric (fromRat) @@ -562,7 +563,7 @@ coreExprAsPmLit e = case collectArgs e of (Var x, args) | is_rebound_name x fromStringName -- See Note [Detecting overloaded literals with -XRebindableSyntax] - , s:_ <- filter (eqType stringTy . exprType) args + , s:_ <- filter (isStringTy . exprType) $ filter isValArg args -- NB: Calls coreExprAsPmLit and then overloadPmLit, so that we return PmLitOverStrings -> coreExprAsPmLit s >>= overloadPmLit (exprType e) -- These last two cases handle proper String literals |