Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upStabilize `uniform_paths` #56759
Conversation
This comment has been minimized.
This comment has been minimized.
|
r? @Centril |
rust-highfive
assigned
Centril
Dec 12, 2018
petrochenkov
referenced this pull request
Dec 13, 2018
Closed
Stabilize uniform paths on Rust 2018 (technical details) #56417
petrochenkov
added
T-lang
S-waiting-on-review
labels
Dec 16, 2018
This comment has been minimized.
This comment has been minimized.
|
|
petrochenkov
force-pushed the
petrochenkov:prestabuni
branch
from
39daf51
to
42028d2
Dec 27, 2018
petrochenkov
changed the title
resolve: Prepare uniform paths to stabilization
Stabilize `uniform_paths`
Dec 27, 2018
petrochenkov
added
beta-nominated
S-waiting-on-team
and removed
S-waiting-on-review
labels
Dec 27, 2018
This comment has been minimized.
This comment has been minimized.
|
@Centril |
This comment has been minimized.
This comment has been minimized.
Stabilization reportFeature name: Implemented in #52923 (v1) and #55884 (v2) and landed 4.5 and 1.5 months ago respectively. What is being stabilizedIf import path resolves without errors, then it's resolved in exactly same way as a non-import path. Possible extra errors (e.g. ambiguities) in import paths compared to other paths are caused by the fact that import paths are resolved early, when module structure of the crate is still in flux. Right now an ambiguity error is reported if the number of different candidates in scope for the first import segment ( struct S; // Candidate 1
fn main() {
use self::S; // Candidate 2
{
use self::S; // Candidate 3
use S as _; // Not an error
}
}Known issuesKnown deviations of macro paths and 2018 import paths from the "uniform path" model |
This comment was marked as resolved.
This comment was marked as resolved.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
petrochenkov
force-pushed the
petrochenkov:prestabuni
branch
from
42028d2
to
3a2e4db
Dec 27, 2018
This comment has been minimized.
This comment has been minimized.
I've been meaning to read this and the other issues / descriptions you wrote but I've been a bit pressed for time. Would you mind waiting a bit (~a day) before I start FCP? |
This comment has been minimized.
This comment has been minimized.
|
@Centril |
ehuss
referenced this pull request
Dec 27, 2018
Merged
Clarify uniform paths are not yet in Rust 2018 #124
Centril
approved these changes
Dec 28, 2018
|
Tests, and from what I can see implementation, looks good. Reassigning for further technical review to: |
Centril
assigned
nikomatsakis
and unassigned
Centril
Dec 28, 2018
This comment has been minimized.
This comment has been minimized.
|
~A day later...
This seems like the right incremental balance for the time being. All in all, let's: @rfcbot merge
These 2 holes seem quite pathological... but how much work work would it be to fix them? |
This comment has been minimized.
This comment has been minimized.
rfcbot
commented
Dec 28, 2018
•
|
Team member @Centril has proposed to merge this. The next step is review by the rest of the tagged teams:
No concerns currently listed. Once a majority of reviewers approve (and none object), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for info about what commands tagged team members can give me. |
rfcbot
added
proposed-final-comment-period
disposition-merge
labels
Dec 28, 2018
This comment has been minimized.
This comment has been minimized.
The first one is relatively hard, but it only affects macros, not imports. |
Centril
added
the
relnotes
label
Dec 28, 2018
This comment has been minimized.
This comment has been minimized.
|
I have a question: From the comments, it seemed like there was some "concern" about stabilizing this in time for the next release, is there any particular reason for that urgency? |
This comment has been minimized.
This comment has been minimized.
|
(Not saying I'm opposed, just asking) |
This comment has been minimized.
This comment has been minimized.
|
@petrochenkov r=me post rebase btw |
petrochenkov
added some commits
Dec 9, 2018
petrochenkov
force-pushed the
petrochenkov:prestabuni
branch
from
aa31d43
to
250935d
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
|
@bors r=nikomatsakis |
This comment has been minimized.
This comment has been minimized.
|
|
bors
added
S-waiting-on-bors
and removed
S-waiting-on-team
labels
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
|
@bors p=1 |
This comment has been minimized.
This comment has been minimized.
added a commit
that referenced
this pull request
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
|
|
bors
added
S-waiting-on-review
and removed
S-waiting-on-bors
labels
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
|
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
This comment has been minimized.
This comment has been minimized.
Looks spurious. |
bors
added
S-waiting-on-bors
and removed
S-waiting-on-review
labels
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
added a commit
that referenced
this pull request
Jan 12, 2019
This comment has been minimized.
This comment has been minimized.
|
|
petrochenkov commentedDec 12, 2018
•
edited
Address all the things described in #56417.
Assign visibilities to
macro_rulesitems -pubtomacro_export-ed macros andpub(crate)to non-exported macros, these visibilities determine how far these macros can be reexported withuse.Prohibit use of reexported inert attributes and "tool modules", after renaming (e.g.
use inline as imported_inline) their respective tools and even compiler passes won't be able to recognize and properly check them.Also turn use of uniform paths in 2015 macros into an error, I'd prefer to neither remove nor stabilize them right away because I still want to make some experiments in this area (uniform path fallback was added to 2015 macros used on 2018 edition in #56053 (comment)).
UPDATE: The last commit also stabilizes the feature
uniform_paths.Closes #53130
Closes #55618
Closes #56326
Closes #56398
Closes #56417
Closes #56821
Closes #57252
Closes #57422