]> git.lizzy.rs Git - rust.git/commit
Auto merge of #56759 - petrochenkov:prestabuni, r=nikomatsakis
authorbors <bors@rust-lang.org>
Sat, 12 Jan 2019 20:11:36 +0000 (20:11 +0000)
committerbors <bors@rust-lang.org>
Sat, 12 Jan 2019 20:11:36 +0000 (20:11 +0000)
commit75a369c5b11459baa6bf7734eeb6135998a0a7de
tree749204b051816efba95673255b09d01ac6754967
parentd6525ef539a04cb43de40080bdabc5f2f5a4a197
parent250935d0c7c23b4d80703f5b660a92d6591d8649
Auto merge of #56759 - petrochenkov:prestabuni, r=nikomatsakis

Stabilize `uniform_paths`

Address all the things described in https://github.com/rust-lang/rust/issues/56417.

Assign visibilities to `macro_rules` items - `pub` to `macro_export`-ed macros and `pub(crate)` to non-exported macros, these visibilities determine how far these macros can be reexported with `use`.

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 https://github.com/rust-lang/rust/pull/56053#issuecomment-441405140).

UPDATE: The last commit also stabilizes the feature `uniform_paths`.

Closes https://github.com/rust-lang/rust/issues/53130
Closes https://github.com/rust-lang/rust/issues/55618
Closes https://github.com/rust-lang/rust/issues/56326
Closes https://github.com/rust-lang/rust/issues/56398
Closes https://github.com/rust-lang/rust/issues/56417
Closes https://github.com/rust-lang/rust/issues/56821
Closes https://github.com/rust-lang/rust/issues/57252
Closes https://github.com/rust-lang/rust/issues/57422
src/libsyntax/feature_gate.rs