rust/src/libsyntax
Alex Crichton 46492ffabd
Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov
Expand macros in `extern {}` blocks

This permits macro and proc-macro and attribute invocations (the latter only with the `proc_macro` feature of course) in `extern {}` blocks, gated behind a new `macros_in_extern` feature.

A tracking issue is now open at #49476

closes #48747
2018-04-05 10:49:14 -05:00
..
diagnostics Allow raw identifiers in diagnostic macros. 2018-03-18 13:27:56 -05:00
ext expand macro invocations in extern {} blocks 2018-04-03 13:16:11 -07:00
parse Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05:00
print Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05:00
util Remove all unstable placement features 2018-04-03 11:02:34 +02:00
abi.rs add thiscall calling convention support 2017-05-24 16:40:03 -04:00
ast.rs Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05:00
attr.rs Initial implementation of RFC 2151, Raw Identifiers 2018-03-18 10:07:19 -05:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
Cargo.toml Remove syntax and syntax_pos thread locals 2018-03-14 11:56:01 +01:00
codemap.rs CodeMap functions refactored. 2018-03-18 20:46:29 -03:00
config.rs Expand attribute macros on statements and expressions. 2018-04-02 01:56:12 -07:00
diagnostic_list.rs Fix missed i128 feature gates 2018-03-26 08:37:56 -05:00
edition.rs Add easy edition feature flag 2018-03-29 08:44:21 +02:00
entry.rs Cleanup InternedString. 2016-11-21 09:00:56 +00:00
feature_gate.rs Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05:00
fold.rs Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05:00
json.rs Require the code mapper to be thread-safe 2018-03-15 00:43:03 +01:00
lib.rs Stabilize match_default_bindings 2018-03-28 11:13:13 +02:00
ptr.rs syntax: Rename P::unwrap into P::into_inner 2017-12-17 02:21:29 +03:00
README.md Replace many of the last references to readmes 2018-03-16 12:43:22 -05:00
show_span.rs use field init shorthand EVERYWHERE 2017-08-15 15:29:17 -07:00
std_inject.rs Rename Span::empty to Span::shrink_to_lo, add Span::shrink_to_hi 2018-03-17 22:12:21 +03:00
str.rs syntax: Copy unstable str::char_at into libsyntax 2015-04-21 10:23:53 -07:00
test.rs Auto merge of #49279 - varkor:generated-closure-return-type, r=alexcrichton 2018-03-27 07:16:29 +00:00
test_snippet.rs Remove syntax and syntax_pos thread locals 2018-03-14 11:56:01 +01:00
tokenstream.rs Initial implementation of RFC 2151, Raw Identifiers 2018-03-18 10:07:19 -05:00
visit.rs Rollup merge of #49350 - abonander:macros-in-extern, r=petrochenkov 2018-04-05 10:49:14 -05: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: