Note [Record selectors]
Record selectors are injected as ordianry functions definitions, very early in the pipeline. * `mkRecSelBinds` produces /un-typechecked/ bindings, rather like 'deriving' This makes life easier, because the later type checking will add all necessary type abstractions and applications; and handling for UNPACK pragmas etc * Record selectors are not treated as "implicit". See See Note [Implicit TyThings] in GHC.Types.TyThing and Note [Injecting implicit bindings] in GHC.CoreToStg.AddImplicitBinds
References 2
- Injecting implicit bindings GHC.CoreToStg.AddImplicitBinds
- Implicit TyThings GHC.Types.TyThing
Referenced by 3
- Injecting implicit bindings GHC.CoreToStg.AddImplicitBinds
- GHC.Tc.TyCl.Utils call site
- Implicit TyThings GHC.Types.TyThing