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

Add a new linting pass for obligations #96092

Closed
wants to merge 1 commit into from
Closed

Add a new linting pass for obligations #96092

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Apr 15, 2022

(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 and PartialEq 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.

@rust-highfive
Copy link
Collaborator

Hey! It looks like you've submitted a new PR for the library teams!

If this PR contains changes to any rust-lang/rust public library APIs then please comment with r? rust-lang/libs-api @rustbot label +T-libs-api -T-libs to request review from a libs-api team reviewer. If you're unsure where your change falls no worries, just leave it as is and the reviewer will take a look and make a decision to forward on if necessary.

Examples of T-libs-api changes:

  • Stabilizing library features
  • Introducing insta-stable changes such as new implementations of existing stable traits on existing stable types
  • Introducing new or changing existing unstable library APIs (excluding permanently unstable features / features without a tracking issue)
  • Changing public documentation in ways that create new stability guarantees
  • Changing observable runtime behavior of library APIs

@rustbot rustbot added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Apr 15, 2022
@rust-highfive
Copy link
Collaborator

r? @davidtwco

(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 Apr 15, 2022
@ghost
Copy link
Author

ghost commented Apr 15, 2022

@jackh726, i think this should be assigned to you

@ghost ghost mentioned this pull request Apr 15, 2022
@davidtwco
Copy link
Member

r? @jackh726

@rust-highfive rust-highfive assigned jackh726 and unassigned davidtwco Apr 16, 2022
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@jackh726 jackh726 added S-experimental Status: Ongoing experiment that does not require reviewing and won't be merged in its current state. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 16, 2022
@bors
Copy link
Contributor

bors commented May 17, 2022

☔ The latest upstream changes (presumably #96892) made this pull request unmergeable. Please resolve the merge conflicts.

@bors bors added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label May 17, 2022
Repository owner closed this by deleting the head repository Aug 25, 2022
@jhpratt
Copy link
Member

jhpratt commented Aug 28, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-experimental Status: Ongoing experiment that does not require reviewing and won't be merged in its current state. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants