-
-
Notifications
You must be signed in to change notification settings - Fork 79
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
New lints: Breaking changes in macros #946
Labels
A-lint
Area: new or existing lint
E-help-wanted
Call for participation: Help is requested to fix this issue.
E-mentor
Call for participation: Mentorship is available for this issue.
Comments
obi1kenobi
added
A-lint
Area: new or existing lint
E-help-wanted
Call for participation: Help is requested to fix this issue.
E-mentor
Call for participation: Mentorship is available for this issue.
labels
Sep 26, 2024
This was referenced Sep 26, 2024
I'll give a go at implementing "removing a declarative macro that used to exist". |
This was referenced Oct 15, 2024
Open
3 tasks
obi1kenobi
added a commit
that referenced
this issue
Dec 7, 2024
Addresses a checkbox in #946 --------- Co-authored-by: Predrag Gruevski <[email protected]>
obi1kenobi
pushed a commit
that referenced
this issue
Dec 8, 2024
Addresses checkbox in #946 . Distinguish between macros that are hidden vs just not exported.
obi1kenobi
added a commit
that referenced
this issue
Dec 8, 2024
Addresses checkbox in #946 --------- Co-authored-by: Predrag Gruevski <[email protected]>
obi1kenobi
added a commit
that referenced
this issue
Dec 16, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-lint
Area: new or existing lint
E-help-wanted
Call for participation: Help is requested to fix this issue.
E-mentor
Call for participation: Mentorship is available for this issue.
There are several ways to cause a breaking change by changing macro item definitions that we can lint for today:
declarative_macro_missing
#966)#[doc(hidden)]
(Add lint macro_now_doc_hidden #1029)#[macro_export]
but is not#[doc(hidden)]
-- variant of Add lintdeclarative_macro_missing
#966 in that the macro can't be used, but it's still defined, just local to its defining crate (Add new lint macro_no_longer_exported #1031)#[doc(hidden)]
(Addproc_macro_now_doc_hidden
lint. #1050)Relevant docs we can use as references in the lints:
The lints here will be similar to existing "item missing" lints (e.g. enum missing, enum variant missing), with one important difference: macros are always at the top level of the crate that defined them. They don't have importable paths, so our matching doesn't need the
importable_path
edge like for other items and can instead simply rely on the macro's own name.Make sure to check out our contributing guide, and take a look at what prior lints' merged PRs looked like so you know what to expect. It's easier than you think!
The text was updated successfully, but these errors were encountered: