lean4-htt/src/Lean/Linter
Paul Reichert 9d7d15b276
feat: lint coercions that are deprecated or banned in core (#11511)
This PR implements a linter that warns when a deprecated coercion is
applied. It also warns when the `Option` coercion or the
`Subarray`-to-`Array` coercion is used in `Init` or `Std`. The linter is
currently limited to `Coe` instances; `CoeFun` instances etc. are not
considered.

The linter works by collecting the `Coe` instance declaration names that
are being expanded in `expandCoe?` and storing them in the info tree.
The linter itself then analyzes the info tree and checks for banned or
deprecated coercions.
2025-12-12 15:09:13 +00:00
..
Basic.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Builtin.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Coe.lean feat: lint coercions that are deprecated or banned in core (#11511) 2025-12-12 15:09:13 +00:00
ConstructorAsVariable.lean chore: rename String.Range to Lean.Syntax.Range (#10852) 2025-10-21 07:32:25 +00:00
Deprecated.lean feat: shake import minimizer aware of the module system and arbitrary elaboration dependencies (#10575) 2025-09-28 16:00:00 +00:00
DocsOnAlt.lean feat: docstrings with Verso syntax (#10307) 2025-09-10 07:03:57 +00:00
List.lean refactor: use String.Slice in String.take and variants (#11180) 2025-11-18 16:13:48 +00:00
MissingDocs.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Omit.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Sets.lean feat: document that backward options may disappear (#11304) 2025-11-24 17:49:46 +00:00
UnusedSimpArgs.lean chore: rename String.Range to Lean.Syntax.Range (#10852) 2025-10-21 07:32:25 +00:00
UnusedVariables.lean chore: rename String.Range to Lean.Syntax.Range (#10852) 2025-10-21 07:32:25 +00:00
Util.lean chore: rename String.Range to Lean.Syntax.Range (#10852) 2025-10-21 07:32:25 +00:00