diff options
Diffstat (limited to 'compiler/GHC/Builtin')
-rw-r--r-- | compiler/GHC/Builtin/Names.hs | 21 | ||||
-rw-r--r-- | compiler/GHC/Builtin/Types.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/Builtin/Types/Prim.hs | 4 |
3 files changed, 23 insertions, 4 deletions
diff --git a/compiler/GHC/Builtin/Names.hs b/compiler/GHC/Builtin/Names.hs index 8671b5521f..d72e911541 100644 --- a/compiler/GHC/Builtin/Names.hs +++ b/compiler/GHC/Builtin/Names.hs @@ -503,6 +503,10 @@ basicKnownKeyNames , typeErrorVAppendDataConName , typeErrorShowTypeDataConName + -- "Unsatisfiable" constraint + , unsatisfiableClassName + , unsatisfiableIdName + -- Unsafe coercion proofs , unsafeEqualityProofName , unsafeEqualityTyConName @@ -1452,6 +1456,13 @@ typeErrorVAppendDataConName = typeErrorShowTypeDataConName = dcQual gHC_TYPEERROR (fsLit "ShowType") typeErrorShowTypeDataConKey +-- "Unsatisfiable" constraint +unsatisfiableClassName, unsatisfiableIdName :: Name +unsatisfiableClassName = + clsQual gHC_TYPEERROR (fsLit "Unsatisfiable") unsatisfiableClassNameKey +unsatisfiableIdName = + varQual gHC_TYPEERROR (fsLit "unsatisfiable") unsatisfiableIdNameKey + -- Unsafe coercion proofs unsafeEqualityProofName, unsafeEqualityTyConName, unsafeCoercePrimName, unsafeReflDataConName :: Name @@ -1993,9 +2004,13 @@ uFloatTyConKey = mkPreludeTyConUnique 161 uIntTyConKey = mkPreludeTyConUnique 162 uWordTyConKey = mkPreludeTyConUnique 163 +-- "Unsatisfiable" constraint +unsatisfiableClassNameKey :: Unique +unsatisfiableClassNameKey = mkPreludeTyConUnique 170 + -- Custom user type-errors errorMessageTypeErrorFamKey :: Unique -errorMessageTypeErrorFamKey = mkPreludeTyConUnique 181 +errorMessageTypeErrorFamKey = mkPreludeTyConUnique 181 coercibleTyConKey :: Unique coercibleTyConKey = mkPreludeTyConUnique 183 @@ -2548,6 +2563,10 @@ getFieldClassOpKey, setFieldClassOpKey :: Unique getFieldClassOpKey = mkPreludeMiscIdUnique 572 setFieldClassOpKey = mkPreludeMiscIdUnique 573 +-- "Unsatisfiable" constraints +unsatisfiableIdNameKey :: Unique +unsatisfiableIdNameKey = mkPreludeMiscIdUnique 580 + ------------------------------------------------------ -- ghc-bignum uses 600-699 uniques ------------------------------------------------------ diff --git a/compiler/GHC/Builtin/Types.hs b/compiler/GHC/Builtin/Types.hs index 59970daa3c..7dceb6524e 100644 --- a/compiler/GHC/Builtin/Types.hs +++ b/compiler/GHC/Builtin/Types.hs @@ -1999,7 +1999,7 @@ data BoxingInfo b -- recall: data Int = I# Int# -- -- BI_Box { bi_data_con = MkInt8Box, bi_inst_con = MkInt8Box @ty - -- , bi_boxed_type = Int8Box ty }A + -- , bi_boxed_type = Int8Box ty } -- recall: data Int8Box (a :: TYPE Int8Rep) = MkIntBox a boxingDataCon :: Type -> BoxingInfo b diff --git a/compiler/GHC/Builtin/Types/Prim.hs b/compiler/GHC/Builtin/Types/Prim.hs index 0335e1cb11..74710077b2 100644 --- a/compiler/GHC/Builtin/Types/Prim.hs +++ b/compiler/GHC/Builtin/Types/Prim.hs @@ -759,7 +759,7 @@ Wrinkles (W2) We need two absent-error Ids, aBSENT_ERROR_ID for types of kind Type, and aBSENT_CONSTRAINT_ERROR_ID for vaues of kind Constraint. Ditto noInlineId - vs noInlieConstraintId in GHC.Types.Id.Make; see Note [inlineId magic]. + vs noInlineConstraintId in GHC.Types.Id.Make; see Note [inlineId magic]. (W3) We need a TypeOrConstraint flag in LitRubbish. @@ -802,7 +802,7 @@ irretrievably overlap with: Wrinkles -(W1) In GHC.Core.RoughMap.roughMtchTyConName we are careful to map +(W1) In GHC.Core.RoughMap.roughMatchTyConName we are careful to map TYPE and CONSTRAINT to the same rough-map key. Reason: If we insert (F @Constraint tys) into a FamInstEnv, and look up (F @Type tys'), we /must/ ensure that the (C @Constraint tys) |