ghc-9.4.0.20220721: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Tc.TyCl.Utils

Description

Analysis functions over data types. Specifically, detecting recursive types.

This stuff is only used for source-code decls; it's recorded in interface files for imported data types.

Synopsis

Documentation

type RolesInfo = Name -> [Role] Source #

checkSynCycles :: Unit -> [TyCon] -> [LTyClDecl GhcRn] -> TcM () Source #

Checks if any of the passed in TyCons have cycles. Takes the Unit of the home package (as we can avoid checking those TyCons: cycles never go through foreign packages) and the corresponding LTyClDecl Name for each TyCon, so we can give better error messages.

Implicits

Record selectors