Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix incorrect suggestion for extra argument with a type error #127253

Merged

Conversation

chenyukang
Copy link
Member

@chenyukang chenyukang commented Jul 2, 2024

Fixes #126246

I tried to fix it in the find_errors of ArgMatrix, but seems it's hard to avoid breaking some other test cases.

The root cause is we eliminate the first argument even with a type error at here:

return compatibility_diagonal[provided_idx].clone();

So the left argument is always treated as extra one.

But if there is already a type error, an error message will be generated firstly, which make this issue a trivial one.

@rustbot
Copy link
Collaborator

rustbot commented Jul 2, 2024

r? @jieyouxu

rustbot has assigned @jieyouxu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 2, 2024
@jieyouxu
Copy link
Member

jieyouxu commented Jul 3, 2024

r? @estebank (since you're likely more familiar with this argument mismatch suggestion)

@rustbot rustbot assigned estebank and unassigned jieyouxu Jul 3, 2024
@estebank
Copy link
Contributor

estebank commented Jul 3, 2024

I see, you're only handling the "one additional argument that doesn't exist is passed in" case. That's certainly an improvement. I think that we might be able to expand the initial condition to handle multiple, but tbqh, it's fine. Handling the most common case is worth it.

@bors r+

@bors
Copy link
Contributor

bors commented Jul 3, 2024

📌 Commit 9f32459 has been approved by estebank

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 3, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 3, 2024
…iaskrgr

Rollup of 6 pull requests

Successful merges:

 - rust-lang#127092 (Change return-type-notation to use `(..)`)
 - rust-lang#127184 (More refactorings to rustc_interface)
 - rust-lang#127190 (Update LLVM submodule)
 - rust-lang#127253 (Fix incorrect suggestion for extra argument with a type error)
 - rust-lang#127280 (Disable rmake test rustdoc-io-error on riscv64gc-gnu)
 - rust-lang#127294 (Less magic number for corountine)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 6031309 into rust-lang:master Jul 4, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 4, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jul 4, 2024
Rollup merge of rust-lang#127253 - chenyukang:yukang-fix-126246-fn-parameters-check, r=estebank

Fix incorrect suggestion for extra argument with a type error

Fixes rust-lang#126246

I tried to fix it in the `find_errors` of ArgMatrix, but seems it's hard to avoid breaking some other test cases.

The root cause is we eliminate the first argument even with a type error at here:
https://github.com/rust-lang/rust/blob/6292b2af620dbd771ebb687c3a93c69ba8f97268/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs#L664

So the left argument is always treated as extra one.

But if there is already a type error, an error message will be generated firstly, which make this issue a trivial one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Arity errors suggest incorrect fix when there are name errors
5 participants