{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/53130","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/53130/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/53130/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/53130/events","html_url":"https://github.com/rust-lang/rust/issues/53130","id":348077222,"node_id":"MDU6SXNzdWUzNDgwNzcyMjI=","number":53130,"title":"(Modules) Tracking issue for Picking a Module Path System variant","user":{"login":"Centril","id":855702,"node_id":"MDQ6VXNlcjg1NTcwMg==","avatar_url":"https://avatars2.githubusercontent.com/u/855702?v=4","gravatar_id":"","url":"https://api.github.com/users/Centril","html_url":"https://github.com/Centril","followers_url":"https://api.github.com/users/Centril/followers","following_url":"https://api.github.com/users/Centril/following{/other_user}","gists_url":"https://api.github.com/users/Centril/gists{/gist_id}","starred_url":"https://api.github.com/users/Centril/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Centril/subscriptions","organizations_url":"https://api.github.com/users/Centril/orgs","repos_url":"https://api.github.com/users/Centril/repos","events_url":"https://api.github.com/users/Centril/events{/privacy}","received_events_url":"https://api.github.com/users/Centril/received_events","type":"User","site_admin":false},"labels":[{"id":89436934,"node_id":"MDU6TGFiZWw4OTQzNjkzNA==","url":"https://api.github.com/repos/rust-lang/rust/labels/B-RFC-approved","name":"B-RFC-approved","color":"d304cb","default":false},{"id":650846969,"node_id":"MDU6TGFiZWw2NTA4NDY5Njk=","url":"https://api.github.com/repos/rust-lang/rust/labels/C-tracking-issue","name":"C-tracking-issue","color":"f5f1fd","default":false},{"id":211668019,"node_id":"MDU6TGFiZWwyMTE2NjgwMTk=","url":"https://api.github.com/repos/rust-lang/rust/labels/T-lang","name":"T-lang","color":"bfd4f2","default":false},{"id":919710011,"node_id":"MDU6TGFiZWw5MTk3MTAwMTE=","url":"https://api.github.com/repos/rust-lang/rust/labels/disposition-merge","name":"disposition-merge","color":"008800","default":false},{"id":638321554,"node_id":"MDU6TGFiZWw2MzgzMjE1NTQ=","url":"https://api.github.com/repos/rust-lang/rust/labels/proposed-final-comment-period","name":"proposed-final-comment-period","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/rust-lang/rust/milestones/54","html_url":"https://github.com/rust-lang/rust/milestone/54","labels_url":"https://api.github.com/repos/rust-lang/rust/milestones/54/labels","id":3463305,"node_id":"MDk6TWlsZXN0b25lMzQ2MzMwNQ==","number":54,"title":"Rust 2018 RC","description":"See https://internals.rust-lang.org/t/rust-2018-the-home-stretch/7810","creator":{"login":"nikomatsakis","id":155238,"node_id":"MDQ6VXNlcjE1NTIzOA==","avatar_url":"https://avatars0.githubusercontent.com/u/155238?v=4","gravatar_id":"","url":"https://api.github.com/users/nikomatsakis","html_url":"https://github.com/nikomatsakis","followers_url":"https://api.github.com/users/nikomatsakis/followers","following_url":"https://api.github.com/users/nikomatsakis/following{/other_user}","gists_url":"https://api.github.com/users/nikomatsakis/gists{/gist_id}","starred_url":"https://api.github.com/users/nikomatsakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikomatsakis/subscriptions","organizations_url":"https://api.github.com/users/nikomatsakis/orgs","repos_url":"https://api.github.com/users/nikomatsakis/repos","events_url":"https://api.github.com/users/nikomatsakis/events{/privacy}","received_events_url":"https://api.github.com/users/nikomatsakis/received_events","type":"User","site_admin":false},"open_issues":34,"closed_issues":52,"state":"open","created_at":"2018-06-29T18:51:29Z","updated_at":"2018-09-05T18:37:19Z","due_on":"2018-09-13T07:00:00Z","closed_at":null},"comments":73,"created_at":"2018-08-06T20:50:11Z","updated_at":"2018-09-05T18:41:39Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"[Relative Paths in Rust 2018]: https://internals.rust-lang.org/t/relative-paths-in-rust-2018/7883\r\n\r\nThis is a sub-tracking issue for the RFC \"Clarify and streamline paths and visibility\" (rust-lang/rfcs#2126)\r\nas well as the internals post [Relative Paths in Rust 2018].\r\n\r\nThe issue deals with revamping paths and making a decision about whether we should pick:\r\n+ The `uniform_paths` variant.\r\n    Proposed in [Relative Paths in Rust 2018].\r\n+ The `anchored_use_paths` variant.\r\n    You have to use `self::`, `super::`, and `crate::`, or an external crate name explicitly....\r\n    See rust-lang/rfcs#2126).\r\n\r\n- [x] Implement all the things.\r\n   - [x] `uniform_paths`, https://github.com/rust-lang/rust/pull/52923\r\n   - [x] `anchored_use_paths`\r\n- [x] Make both variants available to test in Edition Preview 2 with appropriate documentation on how to test.\r\n- [x] Adjust documentation ([see instructions on forge][doc-guide])\r\n- [ ] Pick a variant\r\n- [ ] Stabilization PR ([see instructions on forge][stabilization-guide])\r\n\r\n[stabilization-guide]: https://forge.rust-lang.org/stabilization-guide.html\r\n[doc-guide]: https://forge.rust-lang.org/stabilization-guide.html#updating-documentation\r\n\r\n**Unresolved questions:**\r\n\r\n- [ ] Which variant do we pick?"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/418837509","html_url":"https://github.com/rust-lang/rust/issues/53130#issuecomment-418837509","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/53130","id":418837509,"node_id":"MDEyOklzc3VlQ29tbWVudDQxODgzNzUwOQ==","user":{"login":"joshtriplett","id":162737,"node_id":"MDQ6VXNlcjE2MjczNw==","avatar_url":"https://avatars2.githubusercontent.com/u/162737?v=4","gravatar_id":"","url":"https://api.github.com/users/joshtriplett","html_url":"https://github.com/joshtriplett","followers_url":"https://api.github.com/users/joshtriplett/followers","following_url":"https://api.github.com/users/joshtriplett/following{/other_user}","gists_url":"https://api.github.com/users/joshtriplett/gists{/gist_id}","starred_url":"https://api.github.com/users/joshtriplett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshtriplett/subscriptions","organizations_url":"https://api.github.com/users/joshtriplett/orgs","repos_url":"https://api.github.com/users/joshtriplett/repos","events_url":"https://api.github.com/users/joshtriplett/events{/privacy}","received_events_url":"https://api.github.com/users/joshtriplett/received_events","type":"User","site_admin":false},"created_at":"2018-09-05T18:41:39Z","updated_at":"2018-09-05T18:41:39Z","author_association":"MEMBER","body":"@rfcbot concern forward-compatibility\r\n\r\nWhile I understand the desire to go with the more cautious choice at this phase, I'm not sure that \"anchored use paths with forward compatibility\" *is* a cautious choice. In particular, of the few concerns I've seen expressed about uniform_paths, the biggest ones have been the cases in which it raises ambiguity errors in cases where they feel it shouldn't. Effectively, adding \"forward compatibility' ambiguity errors to anchored use paths gives it the primary remaining pain point (the \"implementation quirks\") of uniform paths, without the corresponding benefit, and I think making the result more usable will require exactly the same fixes that would polish the last nits of uniform paths.\r\n\r\nFor instance, we've already made `use somecrate;` emit a much more straightforward error (effectively \"you can just remove this\"). We need to make `pub use somecrate;` work for a `somecrate` that's already in scope due to `extern_prelude`, and make `use somecrate::*;` not issue an error about `somecrate` itself already being in scope.\r\n\r\nI'd be particularly interested in hearing @eddyb's thoughts comparing the remaining work needed for uniform paths to the hypothetical (not yet written) code for forward-compatibility of anchored use paths. It seems to me that, aside from *implementing* the latter, we'd still need the same work to make both more usable in cases like `pub use somecrate;` and `use somecrate::*;`."}}
{"actor":{"display_login":"joshtriplett"}}