Unique identifier.
The type of unique identifiers that are used in many places in GHC
for fast ordering and equality tests. You should generate these with
the functions from the UniqSupply module
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11
Moduleghc-10.0.0.20260917GHC2024
Unique identifier.
The type of unique identifiers that are used in many places in GHC
for fast ordering and equality tests. You should generate these with
the functions from the UniqSupply module
Uniquable LocalLabelDefined in ghc-10.0.0.20260917 · GHC.ByteCode.InstrUniquable LabelDefined in ghc-10.0.0.20260917 · GHC.Cmm.Dataflow.LabelUniquable LocalRegDefined in ghc-10.0.0.20260917 · GHC.Cmm.RegUniquable RegWithFormatDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.FormatUniquable RegDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Graph.Baseso we can put regs in UniqSets
Uniquable StoreDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Reg.Graph.SpillCleanUniquable SymNameDefined in ghc-10.0.0.20260917 · GHC.CmmToAsm.Wasm.TypesUniquable ClassDefined in ghc-10.0.0.20260917 · GHC.Core.ClassUniquable ConLikeDefined in ghc-10.0.0.20260917 · GHC.Core.ConLikeUniquable DataConDefined in ghc-10.0.0.20260917 · GHC.Core.DataConUniquable PatSynDefined in ghc-10.0.0.20260917 · GHC.Core.PatSynUniquable CoercionHoleDefined in ghc-10.0.0.20260917 · GHC.Core.TyCo.RepUniquable TyConDefined in ghc-10.0.0.20260917 · GHC.Core.TyConUniquable FastStringDefined in ghc-10.0.0.20260917 · GHC.Types.UniqueUniquable IdentDefined in ghc-10.0.0.20260917 · GHC.JS.IdentUniquable RealRegDefined in ghc-10.0.0.20260917 · GHC.Platform.RegUniquable RegDefined in ghc-10.0.0.20260917 · GHC.Platform.RegUniquable VirtualRegDefined in ghc-10.0.0.20260917 · GHC.Platform.RegUniquable RegClassDefined in ghc-10.0.0.20260917 · GHC.Platform.Reg.ClassUniquable EvBindsVarDefined in ghc-10.0.0.20260917 · GHC.Tc.Types.EvidenceUniquable SkolemInfoDefined in ghc-10.0.0.20260917 · GHC.Tc.Types.OriginUniquable ConLikeNameDefined in ghc-10.0.0.20260917 · GHC.Types.GREInfoUniquable NameDefined in ghc-10.0.0.20260917 · GHC.Types.NameUniquable NameSpaceDefined in ghc-10.0.0.20260917 · GHC.Types.Name.OccurrenceUniquable UniqueDefined in ghc-10.0.0.20260917 · GHC.Types.UniqueUniquable VarDefined in ghc-10.0.0.20260917 · GHC.Types.VarUniquable PackageIdDefined in ghc-10.0.0.20260917 · GHC.Unit.InfoUniquable PackageNameDefined in ghc-10.0.0.20260917 · GHC.Unit.InfoUniquable ModuleDefined in ghc-10.0.0.20260917 · GHC.Unit.TypesUniquable UnitIdDefined in ghc-10.0.0.20260917 · GHC.Unit.TypesUniquable FieldLabelStringDefined in ghc-10.0.0.20260917 · GHC.Types.FieldLabel · orphanUniquable WarningCategoryDefined in ghc-10.0.0.20260917 · GHC.Unit.Module.Warnings · orphanUniquable ModuleNameDefined in ghc-10.0.0.20260917 · GHC.Types.UniqueUniquable IntDefined in ghc-10.0.0.20260917 · GHC.Types.UniqueUniquable Word64Defined in ghc-10.0.0.20260917 · GHC.Types.UniqueUniquable (CoAxiom br)Defined in ghc-10.0.0.20260917 · GHC.Core.Coercion.AxiomUniquable unit => Uniquable (Definite unit)Defined in ghc-10.0.0.20260917 · GHC.Unit.TypesIsUnitId u => Uniquable (GenUnit u)Defined in ghc-10.0.0.20260917 · GHC.Unit.TypesPut the character in the highest bits of the Word64.
This may truncate the character to 8.
This function is used in so that it can
precompute and share the tag part of the uniques it generates.mkSplitUniqSupply
The interface file symbol-table encoding assumes that known-key uniques fit in 30-bits; verify this.
See Note [Symbol table representation of names] in GHC.Iface.Binary for details.
These are exposed exclusively for use by uniqAway, which has rather peculiar needs. See Note [Local uniques].