HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleghc-9.10.3GHC2021

GHC.Rename.Fixity

  • 1 type
  • 7 values
  • Packageghc-9.10.3
  • Exports8
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceFixity.hs
datadata MiniFixityEnv
#

Mini fixity env for the names we're about to bind, in a single binding group

It is keyed by the *FastString*, not the *OccName*, because the single fixity decl infix 3 T affects both the data constructor T and the type constructor T

We keep the location so that if we find a duplicate, we can report it sensibly

Fixity declarations may influence names in a single namespace by using a type or data specifier, e.g. in:

 data a :*: b = a :*: b
 infix 3 type :*:

To handle that correctly, MiniFixityEnv contains separate fields for type-level and data-level names. If no namespace specifier is provided, the declaration will populate both the type-level and data-level fields.