-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Add a new linting pass for obligations #96092
Conversation
Hey! It looks like you've submitted a new PR for the library teams! If this PR contains changes to any Examples of
|
r? @davidtwco (rust-highfive has picked a reviewer for you, use r? to override) |
@jackh726, i think this should be assigned to you |
r? @jackh726 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #96892) made this pull request unmergeable. Please resolve the merge conflicts. |
As the PR's author has deleted their account, I have backed up the current state of the PR on my fork. The code is available here. This should make it easier for someone to use the already-written code if they want to take the PR over. |
(Note: this is currently just a rough cut of the idea being sent in for initial discussion: zulip stream. Nothing in here is properly feature gated.)
This adds a new linting pass for when obligations have been used.
This has been spun out as a prerequisite of #95025, where such a capability was needed in order to lint when
#[deprecated_safe] unsafe fn()
-> closure coercions were used. (Here's an alternate reality branch that implements #95025 using the system being proposed here)@lcnr expressed desire for a similar ability on my review, "mostly to deprecate the
Eq
andPartialEq
impls for function pointers". This example lint has been used in this PR rather than pulling in all the#[deprecated_safe]
changes just to test implementing this new system.