-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
[WIP] Implement RFC 1560. #32213
[WIP] Implement RFC 1560. #32213
Conversation
e333048
to
c759b3e
Compare
Also if you could test it on Windows with |
4ebba6d
to
5c3ab23
Compare
☔ The latest upstream changes (presumably #32112) made this pull request unmergeable. Please resolve the merge conflicts. |
5c3ab23
to
1e48cd1
Compare
1e48cd1
to
6dbe2ad
Compare
☔ The latest upstream changes (presumably #32227) made this pull request unmergeable. Please resolve the merge conflicts. |
6dbe2ad
to
349958c
Compare
Just a note that the proposed changes are a draft RFC that hasn't been PR'ed yet, we should wait for the RFC to be approved (and of course to be a PR first) before landing this. I would be curious to see a crater run in the meantime though. |
I know; this is a ways off from being ready to land regardless. |
@alexcrichton I had to rebase anyway -- this should be ready for a crater run now! |
r? @nikomatsakis (or @nrc, ... or others!) |
(also started a crater run) |
Thanks! |
Oh dear, looks like quite a few regressions :( |
Most of them seem to be caused by the use of |
All of the root regressions appear to be due to a bug that I fixed in the above commit. I had generalized the last bullet point ("The visibility of a glob-imported name is the minimum visibility of the glob itself and the name in the imported module") to apply to single imports as well. This won't make a difference once the warning cycle from #31362 is complete, but until then a |
Scheduled another crater run |
Hurray, zero regressions! |
Excellent. It also looks like these changes fix two crates that were broken by new names in upstream crates. |
☔ The latest upstream changes (presumably #32284) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #32767) made this pull request unmergeable. Please resolve the merge conflicts. |
9ae2401
to
698cadd
Compare
☔ The latest upstream changes (presumably #32814) made this pull request unmergeable. Please resolve the merge conflicts. |
4c2626e
to
0d86604
Compare
0d86604
to
1402963
Compare
☔ The latest upstream changes (presumably #32875) made this pull request unmergeable. Please resolve the merge conflicts. |
@jseyfried this has been inactive for awhile now, should we close or try to rebase + land? |
@alexcrichton I'm planning on rebasing, finishing this up, and |
Ok, awesome! |
@jseyfried going to close this PR due to inactivity. Feel free to re-open though. :) |
I finished this in #35894. |
This prototypes rust-lang/rfcs#1560 (cc #35120).
More specifically,
pub use super::*
is equivalent touse
ing the private names andpub use
ing the public names fromsuper
(modulo shadowing). See this comment from resolve: Privacy rules for re-exports can be too restrictive #31783.This implementation still needs documentation, tests, and more precise diagnostics (most importantly, an error for when an ambiguous name is used), but other than that it is complete.