fix(cargo-fix): dont apply same suggestion twice#13728
Merged
bors merged 2 commits intorust-lang:masterfrom Apr 10, 2024
Merged
fix(cargo-fix): dont apply same suggestion twice#13728bors merged 2 commits intorust-lang:masterfrom
bors merged 2 commits intorust-lang:masterfrom
Conversation
epage
reviewed
Apr 9, 2024
epage
reviewed
Apr 9, 2024
4542746 to
8d69122
Compare
epage
reviewed
Apr 10, 2024
tests/testsuite/fix.rs
Outdated
Comment on lines
1936
to
1939
| assert_eq!( | ||
| p.read_file("src/lib.rs").matches("unsafe").count(), | ||
| 4, | ||
| "2 in lint name, 1 from original unsafe fn, 1 from newly-applied unsafe blocks" |
Contributor
There was a problem hiding this comment.
Can the message include the adjusted src/lib.rs? That would removes one step in the debugging process
8d69122 to
a025eaa
Compare
Member
Author
|
I am thinking of moving this logic into |
This assumes that if any of the machine applicable fixes in a diagnostic suggestion is a duplicate, we should see the entire suggestion as a duplicate.
a025eaa to
95edc06
Compare
weihanglo
commented
Apr 10, 2024
| let mut already_applied = HashSet::new(); | ||
| let mut fix = CodeFix::new(code); | ||
| for suggestion in suggestions.iter().rev() { | ||
| // This assumes that if any of the machine applicable fixes in |
Member
Author
There was a problem hiding this comment.
Decided to duplicate the work in also rustfix. I didn't do it in CodeFix as it might require a longer lifetime bound than it was.
Contributor
|
@bors r+ |
Contributor
Contributor
Contributor
|
☀️ Test successful - checks-actions |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Apr 10, 2024
Update cargo 11 commits in 28e7b2bc0a812f90126be30f48a00a4ada990eaa..74fd5bc730b828dbc956335b229ac34ba47f7ef7 2024-04-05 19:31:01 +0000 to 2024-04-10 18:40:49 +0000 - chore: downgrade to openssl v1.1.1 (again) (rust-lang/cargo#13731) - fix(cargo-fix): dont apply same suggestion twice (rust-lang/cargo#13728) - refactor: make `resolve_with_previous` clearer (rust-lang/cargo#13727) - fix(package): Normalize paths in `Cargo.toml` (rust-lang/cargo#13729) - refactor: Track when MSRV is explicitly set, either way (rust-lang/cargo#13732) - [fix]:Build script not rerun when target rustflags change (rust-lang/cargo#13560) - feat(add): Stabilize MSRV-aware version req selection (rust-lang/cargo#13608) - Fix github fast path redirect. (rust-lang/cargo#13718) - Add release notes for 1.77.1 (rust-lang/cargo#13717) - doc(semver): remove mention of deprecated tool rust-semverver (rust-lang/cargo#13715) - chore: fix some typos (rust-lang/cargo#13714) r? ghost
Closed
7 tasks
weihanglo
added a commit
to weihanglo/cargo
that referenced
this pull request
Nov 1, 2024
This case also emits a insert-only suggestions (span start == end), adn doesn't rely on any lint behavior. See also * rust-lang#13728 * rust-lang#13027
weihanglo
added a commit
to weihanglo/cargo
that referenced
this pull request
Nov 1, 2024
This case also emits an insert-only suggestions (span start == end), adn doesn't rely on any lint behavior. See also * rust-lang#13728 * rust-lang#13027
weihanglo
added a commit
to weihanglo/cargo
that referenced
this pull request
Nov 1, 2024
This case also emits an insert-only suggestions (span start == end), and doesn't rely on any lint behavior. See also * rust-lang#13728 * rust-lang#13027
weihanglo
added a commit
to weihanglo/cargo
that referenced
this pull request
Nov 1, 2024
This case also emits an insert-only suggestions (span start == end), and doesn't rely on any lint behavior. See also * rust-lang#13728 * rust-lang#13027
This was referenced Nov 1, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR try to resolve?
This assumes that if any of the machine applicable fixes (
solution)in a diagnostic is a duplicate, then
cargo fixshould only applythe entire suggestion once.
How should we test and review this PR?
The first commit demonstrates the case in rust-lang/rust#123304.
One caveat is that
cargo fixwould showFixed .. (2 fixes)for duplicate suggestions,but actually it only applies the fix once and for all.
Additional information
r? ehuss