rust/src/libsyntax_ext
Alex Crichton e5e7021ca5 rustc: Tweak expansion order of custom derive
This commit alters the expansion order of custom macros-1.1 style `#[derive]`
modes. Instead of left-to-right the expansion now happens in three categories,
each of which is internally left-to-right:

* Old-style custom derive (`#[derive_Foo]`) is expanded
* New-style custom derive (macros 1.1) is expanded
* Built in derive modes are expanded

This gives built in derive modes maximal knowledge about the struct that's being
expanded and also avoids pesky issues like exposing `#[structural_match]` or
`#[rustc_copy_clone_marker]`.

cc #35900
2016-09-27 12:41:02 -07:00
..
deriving rustc: Tweak expansion order of custom derive 2016-09-27 12:41:02 -07:00
asm.rs make emit_feature_err take a ParseSess 2016-09-26 07:07:41 +02:00
Cargo.toml rustc: Implement custom derive (macros 1.1) 2016-09-02 12:52:56 -07:00
cfg.rs run rustfmt on libsyntax_ext folder 2016-08-12 09:40:12 +05:30
concat_idents.rs make emit_feature_err take a ParseSess 2016-09-26 07:07:41 +02:00
concat.rs run rustfmt on libsyntax_ext folder 2016-08-12 09:40:12 +05:30
env.rs run rustfmt on libsyntax_ext folder 2016-08-12 09:40:12 +05:30
format.rs Avoid needless reexpansions. 2016-09-13 05:11:45 +00:00
lib.rs Load macros from #[macro_use] extern crates in resolve. 2016-09-24 20:22:25 +00:00
log_syntax.rs make emit_feature_err take a ParseSess 2016-09-26 07:07:41 +02:00
rustc_macro_registrar.rs Differentiate between monotonic and non-monotonic expansion and 2016-09-13 09:40:28 +00:00
trace_macros.rs make emit_feature_err take a ParseSess 2016-09-26 07:07:41 +02:00