Documentation

Mathlib.Tactic.Linter.UpstreamableDecl

The upstreamableDecl linter #

The upstreamableDecl linter detects declarations that could be moved to a file higher up in the import hierarchy. This is intended to assist with splitting files.

def Lean.Name.isLocal (env : Environment) (decl : Name) :

Does this declaration come from the current file?

Equations
Instances For

    Does the declaration with this name depend on definitions in the current file?

    Here, "definition" means everything that is not a theorem, and so includes def, structure, inductive, etc.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The upstreamableDecl linter detects declarations that could be moved to a file higher up in the import hierarchy. If this is the case, it emits a warning.

      By default, this linter will not fire on definitions, nor private declarations: see options linter.upstreamableDecl.defs and linter.upstreamableDecl.private.

      This is intended to assist with splitting files.

      If set to true, the upstreamableDecl linter will add warnings on definitions.

      The linter does not place a warning on any declaration depending on a definition in the current file (while it does place a warning on the definition itself), since we often create a new file for a definition on purpose.

      If set to true, the upstreamableDecl linter will add warnings on private declarations.

      The upstreamableDecl linter detects declarations that could be moved to a file higher up in the import hierarchy. If this is the case, it emits a warning.

      By default, this linter will not fire on definitions, nor private declarations: see options linter.upstreamableDecl.defs and linter.upstreamableDecl.private.

      This is intended to assist with splitting files.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For