rust/src/libsyntax
bors 75a369c5b1 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
2019-01-12 20:11:36 +00:00
..
attr Remove licenses 2018-12-25 21:08:33 -07:00
diagnostics Remove licenses 2018-12-25 21:08:33 -07:00
ext Fix repeated word typos 2019-01-03 21:33:37 +01:00
parse stabilize top level or-pats in if/while let. 2019-01-11 23:57:04 +01:00
print AST/HIR: Introduce ExprKind::Err for better error recovery in the front-end 2018-12-27 15:51:36 +03:00
util AST/HIR: Introduce ExprKind::Err for better error recovery in the front-end 2018-12-27 15:51:36 +03:00
ast.rs Get rid of Block::recovered 2018-12-27 15:51:36 +03:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
Cargo.toml Upgrade smallvec to 0.6.7 and use the new may_dangle feature. 2018-12-10 09:31:27 +11:00
config.rs remove unused imports and feature gate from tests 2019-01-08 00:21:07 +05:30
diagnostic_list.rs Remove licenses 2018-12-25 21:08:33 -07:00
early_buffered_lints.rs Remove licenses 2018-12-25 21:08:33 -07:00
entry.rs Remove licenses 2018-12-25 21:08:33 -07:00
feature_gate.rs Auto merge of #56759 - petrochenkov:prestabuni, r=nikomatsakis 2019-01-12 20:11:36 +00:00
fold.rs Get rid of Block::recovered 2018-12-27 15:51:36 +03:00
json.rs Remove licenses 2018-12-25 21:08:33 -07:00
lib.rs make panictry! private to libsyntax 2019-01-02 11:02:30 -05:00
ptr.rs Remove licenses 2018-12-25 21:08:33 -07:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
show_span.rs Remove licenses 2018-12-25 21:08:33 -07:00
source_map.rs Remove licenses 2018-12-25 21:08:33 -07:00
std_inject.rs Remove licenses 2018-12-25 21:08:33 -07:00
test.rs Remove licenses 2018-12-25 21:08:33 -07:00
test_snippet.rs Remove licenses 2018-12-25 21:08:33 -07:00
tokenstream.rs Remove licenses 2018-12-25 21:08:33 -07:00
visit.rs AST/HIR: Introduce ExprKind::Err for better error recovery in the front-end 2018-12-27 15:51:36 +03:00

The syntax crate contains those things concerned purely with syntax that is, the AST ("abstract syntax tree"), parser, pretty-printer, lexer, macro expander, and utilities for traversing ASTs.

For more information about how these things work in rustc, see the rustc guide: