lean4-htt/src/Lean/PrettyPrinter/Delaborator
Kyle Miller 5e952598dc
fix: let private names be unresolved in the pretty printer, fix shadowing bug when pp.universes is true (#8617)
This PR fixes (1) an issue where private names are not unresolved when
they are pretty printed, (2) an issue where in `pp.universes` mode names
were allowed to shadow local names, (3) an issue where in `match`
patterns constants shadowing locals wouldn't use `_root_`, and (4) an
issue where tactics might have an incorrect "try this" when
`pp.fullNames` is set. Adds more delaboration tests for name
unresolution.

It also cleans up the `delabConst` delaborator so that it uses
`unresolveNameGlobalAvoidingLocals`, rather than doing any local context
analysis itself. The `inPattern` logic has been removed; it was a
heuristic added back in #575, but it now leads to incorrect results (and
in `match` patterns, local names shadow constants in name resolution).
2025-06-03 23:37:35 +00:00
..
Attributes.lean feat: add pp.fieldNotation.generalized for generalized field notation, add @[pp_nodot] attribute (#3737) 2024-03-22 08:55:02 +00:00
Basic.lean feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
Builtins.lean fix: let private names be unresolved in the pretty printer, fix shadowing bug when pp.universes is true (#8617) 2025-06-03 23:37:35 +00:00
FieldNotation.lean feat: use dot notation for class parent projections (#8504) 2025-05-28 20:34:40 +00:00
Options.lean feat: pretty print props with only if domain is prop, add pp.foralls (#7812) 2025-04-04 02:55:47 +00:00
SubExpr.lean feat: accurate binder names in signatures (like in output of #check) (#5827) 2024-10-29 16:43:11 +00:00
TopDownAnalyze.lean feat: deprecate Array.mkArray in favour of Array.replicate 2025-03-24 08:25:00 +01:00