about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorChristopher Chambers <chris.chambers@peanutcode.com>2015-04-07 08:21:18 -0500
committerChristopher Chambers <chris.chambers@peanutcode.com>2015-04-07 09:29:05 -0500
commit19343860aa44d1c31a7802df22349f055ed9da16 (patch)
treee58fadb9f8b266a54df0676ec41f3f6392b00bed /src/libstd/sys/unix/stack_overflow.rs
parentde51bbec15bd689b9c56e8596d1a1e973b707bbd (diff)
downloadrust-19343860aa44d1c31a7802df22349f055ed9da16.tar.gz
rust-19343860aa44d1c31a7802df22349f055ed9da16.zip
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
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions