rust/src/test
bors 61f788c772 auto merge of #13527 : huonw/rust/macro-expander-trait, r=sfackler
There's now one unified way to return things from a macro, instead of
being able to choose the `AnyMacro` trait or the `MRItem`/`MRExpr`
variants of the `MacResult` enum. This does simplify the logic handling
the expansions, but the biggest value of this is it makes macros in (for
example) type position easier to implement, as there's this single thing
to modify.

By my measurements (using `-Z time-passes` on libstd and librustc etc.),
this appears to have little-to-no impact on expansion speed. There are
presumably larger costs than the small number of extra allocations and
virtual calls this adds (notably, all `macro_rules!`-defined macros have
not changed in behaviour, since they had to use the `AnyMacro` trait
anyway).

---

Summary of changes for dynamic syntax extension maintainers:

- `MacResult` is now a trait, and is returned as `~MacResult`
- `MRExpr` & `MRItem` are now `MacExpr::new` and `MacItem:new` respectively (which return `~MacResult`s)
- `MacResult::dummy_...` is `DummyResult::any` or `DummyResult::expr`
2014-04-16 02:16:30 -07:00
..
auxiliary auto merge of #13527 : huonw/rust/macro-expander-trait, r=sfackler 2014-04-16 02:16:30 -07:00
bench Use the unsigned integer types for bitwise intrinsics. 2014-04-15 19:45:00 -07:00
codegen Add pub to all the codegen tests 2013-10-10 06:00:51 -07:00
compile-fail Support lifetime suggestion for method 2014-04-15 15:47:47 -04:00
debug-info Use new attribute syntax in python files in src/etc too (#13478) 2014-04-14 21:00:31 +05:30
pretty Use new attribute syntax in python files in src/etc too (#13478) 2014-04-14 21:00:31 +05:30
run-fail Use new attribute syntax in python files in src/etc too (#13478) 2014-04-14 21:00:31 +05:30
run-make auto merge of #13489 : JustAPerson/rust/crate-file-name, r=alexcrichton 2014-04-15 11:02:03 -07:00
run-pass auto merge of #13532 : alexcrichton/rust/rollup, r=alexcrichton 2014-04-15 23:36:58 -07:00
run-pass-fulldeps Use new attribute syntax in python files in src/etc too (#13478) 2014-04-14 21:00:31 +05:30