Infrastructure for recording extra import dependencies not implied by the environment constants for
the benefit of shake.
Equations
Instances For
Equations
Equations
- Lean.getIndirectModUses env modIdx = Lean.PersistentEnvExtension.getModuleEntries Lean.indirectModUseExt env modIdx
Instances For
Lets shake know that references to declName may also require importing the current module due to
some additional metaprogramming dependency expressed by kind. Currently this is always the name of
an attribute applied to declName, which is not from the current module, in the current module.
kind is not currently used to further filter what references to declName require importing the
current module but may in the future.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Equations
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.instReprExtraModUse = { reprPrec := Lean.instReprExtraModUse.repr }
Returns additional recorded import dependencies of the given module.
Equations
- Lean.getExtraModUses env modIdx = Lean.PersistentEnvExtension.getModuleEntries Lean.extraModUses✝ env modIdx
Instances For
Copies additional recorded import dependencies from one environment to another.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Records an additional import dependency for the current module, using Environment.isExporting as
the visibility level.
NOTE: Directly recording a module name does not trigger including indirect dependencies recorded via
recordIndirectModUse, prefer recordExtraModUseFromDecl instead.
Equations
- Lean.recordExtraModUse modName isMeta = do let __do_lift ← Lean.getEnv if (modName != __do_lift.mainModule) = true then Lean.recordExtraModUseCore✝ modName isMeta else pure PUnit.unit
Instances For
Records the module of the given declaration as an additional import dependency for the current
module, using Environment.isExporting as the visibility level. If the declaration itself is
already meta, the module dependency is recorded as a non-meta dependency.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Checks whether this module should be preserved as an import by shake.
Equations
- Lean.isExtraRevModUse env modIdx = !(Lean.PersistentEnvExtension.getModuleEntries Lean.isExtraRevModUseExt✝ env modIdx).isEmpty
Instances For
Records this module to be preserved as an import by shake.
Equations
- One or more equations did not get rendered due to their size.