fix: let private names be unresolved in the pretty printer, fix shadowing bug when pp.universes is true
#8617
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes (1) an issue where private names are not unresolved when they are pretty printed, (2) an issue where in
pp.universesmode names were allowed to shadow local names, (3) an issue where inmatchpatterns constants shadowing locals wouldn't use_root_, and (4) an issue where tactics might have an incorrect "try this" whenpp.fullNamesis set. Adds more delaboration tests for name unresolution.It also cleans up the
delabConstdelaborator so that it usesunresolveNameGlobalAvoidingLocals, rather than doing any local context analysis itself. TheinPatternlogic has been removed; it was a heuristic added back in #575, but it now leads to incorrect results (and inmatchpatterns, local names shadow constants in name resolution).