FStarC.Range: always use basenames #3758
Merged
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.
In #3740 we discovered a nasty perf bug caused by trying to resolve filenames in ranges to actual files, triggering the removal of that feature and moving that logic to error reporting.
Given that, there is no reason to store full paths in ranges, and we can just save the basenames of files. This also gets us closer to reproducible, location-independent checked files, which we currently lack.
For instance, we now don't have any absolute paths (and privacy leaks!) in the stage2 checked files.
$ strings stage1/fstarc.checked/* | grep guido | wc
9709 9709 664844
$ strings stage2/fstarc.checked/* | grep guido | wc
0 0 0
The --ext fstar:no_absolute_paths option is retained, but only affects how we print out the ranges, not their internals or what goes into checked files.