-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[WIP] Implement RFC 1560. #32213
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[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.