summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Utils/Backpack.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Utils/Backpack.hs')
-rw-r--r--compiler/GHC/Tc/Utils/Backpack.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/Tc/Utils/Backpack.hs b/compiler/GHC/Tc/Utils/Backpack.hs
index 1f6090c7b7..72a1aee55d 100644
--- a/compiler/GHC/Tc/Utils/Backpack.hs
+++ b/compiler/GHC/Tc/Utils/Backpack.hs
@@ -50,6 +50,7 @@ import GHC.Types.SrcLoc
import GHC.Driver.Types
import GHC.Utils.Outputable
import GHC.Core.Type
+import GHC.Core.Multiplicity
import GHC.Data.FastString
import GHC.Rename.Fixity ( lookupFixityRn )
import GHC.Data.Maybe
@@ -216,7 +217,7 @@ check_inst sig_inst = do
(substTy skol_subst pred)
givens <- forM theta $ \given -> do
loc <- getCtLocM origin (Just TypeLevel)
- let given_pred = substTy skol_subst given
+ let given_pred = substTy skol_subst (scaledThing given)
new_ev <- newEvVar given_pred
return CtGiven { ctev_pred = given_pred
-- Doesn't matter, make something up