Skip to content

Conversation

jam1garner
Copy link
Contributor

Fixes #86633

The lint for checking if method resolution of methods named try_into will fail in 2021 edition previously would fire on all inherent methods, however for inherent methods that consume self, this takes priority over TryInto::try_into due to being inherent, while trait method and methods that take &self or &mut self don't take priority, and thus aren't affected by this false positive.

This fix is rather simple: simply checking if the inherent method doesn't auto-deref or auto-ref (and thus takes self) and if so, prevents the lint from firing.

@rust-highfive
Copy link
Contributor

r? @jackh726

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 27, 2021
@m-ou-se m-ou-se added A-diagnostics Area: Messages for errors, warnings, and lints A-edition-2021 Area: The 2021 edition D-incorrect Diagnostics: A diagnostic that is giving misleading or incorrect information. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 27, 2021
@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 28, 2021

📌 Commit bf0da44 has been approved by nikomatsakis

@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 Jun 28, 2021
@nikomatsakis
Copy link
Contributor

r? @nikomatsakis

bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 29, 2021
Rollup of 7 pull requests

Successful merges:

 - rust-lang#86059 (Add new tool to check HTML)
 - rust-lang#86529 (Add support for OpenSSL 3.0.0)
 - rust-lang#86657 (Fix `future_prelude_collision` false positive)
 - rust-lang#86661 (Editon 2021 enables precise capture)
 - rust-lang#86671 (Turn non_fmt_panic into a future_incompatible edition lint.)
 - rust-lang#86673 (Make disjoint_capture_migration an edition lint.)
 - rust-lang#86678 (Fix garbled suggestion for missing lifetime specifier)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 5028581 into rust-lang:master Jun 29, 2021
@rustbot rustbot added this to the 1.55.0 milestone Jun 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints A-edition-2021 Area: The 2021 edition D-incorrect Diagnostics: A diagnostic that is giving misleading or incorrect information. 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.

Confusion about future_prelude_collision
7 participants