-
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
Compiler-internal lint for public libcore items not reexported in libstd #60479
Comments
This sounds great to me; would love to save us the collective embarrassment =P |
I'm not sure why this is tagged as T-compiler, removing that tag. |
Also, it'd be great if somebody could elaborate on exactly what change is being suggested here =) |
The idea is to have another internal lint in rustc that runs on libstd/libcore, and reject any public items in libcore that don't also exist in libstd at the same path. The motivation is that 1.34.0 contained many stabilizations for libcore items, where the libstd reexport was forgotten (which can happen very easily). (I tagged this as |
The libs team discussed this at yesterday’s triage meeting. We agreed that this sounds good to have, but none of us volunteered to implement it :) |
Tagging as T-compiler and nominating for discussion at the T-compiler meeting, in order to determine priority and maybe try to find a mentor? |
Perhaps the Clippy folks may be interested in mentoring this? |
The libs team agrees that this would be a nice-to-have, but we don't have much more to say about it. |
discussed briefly at T-compiler meeting. P-medium. Un-nominating. |
Doing this as a lint seems... very hard. There's no (nice?) way to iterate over the public API of a crate afaik. So when compiling libstd, I don't know how we can find out what is missing. |
This doesn’t have to be in rustc’s actual linting infrastructure. It could be any code that we can run from |
Inspired by #60185.
The text was updated successfully, but these errors were encountered: