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. |
||
|---|---|---|
| .. | ||
| Basic.lean | ||
| Builtin.lean | ||
| Coe.lean | ||
| ConstructorAsVariable.lean | ||
| Deprecated.lean | ||
| DocsOnAlt.lean | ||
| List.lean | ||
| MissingDocs.lean | ||
| Omit.lean | ||
| Sets.lean | ||
| UnusedSimpArgs.lean | ||
| UnusedVariables.lean | ||
| Util.lean | ||