rust/src/libsyntax
Christopher Chambers 19343860aa Improves handling of statement macros.
Statement macros are now treated somewhat like item macros, in that a
statement macro can now expand into a series of statements, rather than
just a single statement.

This allows statement macros to be nested inside other kinds of macros and
expand properly, where previously the expansion would only work when no
nesting was present.

See: src/test/run-pass/macro-stmt_macro_in_expr_macro.rs
     src/test/run-pass/macro-nested_stmt_macro.rs

This changes the interface of the MacResult trait.  make_stmt has become
make_stmts and now returns a vector, rather than a single item.  Plugin
writers who were implementing MacResult will have breakage, as well as
anyone using MacEager::stmt.

See: src/libsyntax/ext/base.rs

This also causes a minor difference in behavior to the diagnostics
produced by certain malformed macros.

See: src/test/compile-fail/macro-incomplete-parse.rs
2015-04-07 09:29:05 -05:00
..
ast_map rollup merge of #23860: nikomatsakis/copy-requires-clone 2015-04-01 18:37:54 -07:00
diagnostics Change span_help calls to fileline_help where appropriate 2015-03-03 15:18:33 +02:00
ext Improves handling of statement macros. 2015-04-07 09:29:05 -05:00
parse Work towards a non-panicing parser (libsyntax) 2015-04-05 09:52:50 +01:00
print rollup merge of #23860: nikomatsakis/copy-requires-clone 2015-04-01 18:37:54 -07:00
util Work towards a non-panicing parser (libsyntax) 2015-04-05 09:52:50 +01:00
abi.rs Fallout in libsyntax 2015-04-01 11:22:39 -04:00
ast.rs fallout when bootstrapping rustc. 2015-04-01 22:35:50 +02:00
ast_util.rs Fallout in libsyntax 2015-04-01 11:22:39 -04:00
attr.rs Work towards a non-panicing parser (libsyntax) 2015-04-05 09:52:50 +01:00
codemap.rs rollup merge of #23860: nikomatsakis/copy-requires-clone 2015-04-01 18:37:54 -07:00
config.rs syntax: gather common fields of impl & trait items into their respective types. 2015-03-11 23:39:16 +02:00
diagnostic.rs Add comments suggested by Niko 2015-04-05 09:52:56 +01:00
feature_gate.rs Revise logic to match rustc::session::config::get_unstable_features_setting 2015-04-02 17:47:51 +02:00
fold.rs Switch drop-flag to u8 to allow special tags to instrument state. 2015-03-26 14:08:54 +01:00
lib.rs Add comments suggested by Niko 2015-04-05 09:52:56 +01:00
owned_slice.rs Switched to Box::new in many places. 2015-03-03 21:05:55 +01:00
ptr.rs Switch drop-flag to u8 to allow special tags to instrument state. 2015-03-26 14:08:54 +01:00
show_span.rs std: Stabilize FromStr and parse 2015-01-30 08:52:44 -08:00
std_inject.rs Unquote all crate names without underscores 2015-03-27 10:58:12 -07:00
test.rs Work towards a non-panicing parser (libsyntax) 2015-04-05 09:52:50 +01:00
visit.rs Fallout in libsyntax 2015-04-01 11:22:39 -04:00