Stop using AddressWithOrigin
for precise file arguments
#10551
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.
We used to achieve precise file arguments—where you only run on the file you specified—via
AddressWithOrigin
et al., including theSpecifiedSourceFiles
type.Now that we always use a generated subtarget when a user gives us file args, we know that the target will always have exactly one source file, so we can simply run on the entire target's
sources
without needing to consider taking a subset of its sources.This allows us to remove
SpecifiedSourceFiles
, along with storing which files were actually resolved on theFilesystemSpec
. We also simplifytest
,lint
, andfmt
to stop usingWithOrigin
, as none of the downstream rules need that information anymore.We still keep around
WithOrigin
for the sake of errors, such as allowing us to error if a user specifies a literal file arg and it does not meet an invariant, but to no-op if they specified a looser glob.