rust/src/libsyntax/parse
bors 9c15de4fd5 Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc
`TokenStream`-based attributes, paths in attribute and derive macro invocations

This PR
 - refactors `Attribute` to use  `Path` and `TokenStream` instead of `MetaItem`.
 - supports macro invocation paths for attribute procedural macros.
   - e.g. `#[::foo::attr_macro] struct S;`, `#[cfg_attr(all(), foo::attr_macro)] struct S;`
 - supports macro invocation paths for derive procedural macros.
   - e.g. `#[derive(foo::Bar, super::Baz)] struct S;`
 - supports arbitrary tokens as arguments to attribute procedural macros.
   - e.g. `#[foo::attr_macro arbitrary + tokens] struct S;`
 - supports using arbitrary tokens in "inert attributes" with derive procedural macros.
   - e.g. `#[derive(Foo)] struct S(#[inert arbitrary + tokens] i32);`
where `#[proc_macro_derive(Foo, attributes(inert))]`

r? @nrc
2017-03-19 10:56:08 +00:00
..
lexer Integrate TokenStream. 2017-03-03 02:15:37 +00:00
attr.rs Liberalize attributes. 2017-03-14 04:39:21 +00:00
classify.rs Fix fallout 2016-06-17 05:21:23 +00:00
common.rs Use associated functions for libsyntax SepSeq constructors. 2016-02-22 23:24:42 -05:00
mod.rs Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc 2017-03-19 10:56:08 +00:00
obsolete.rs Remove parsing of obsolete pre-1.0 syntaxes 2016-09-13 23:33:50 +03:00
parser.rs Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc 2017-03-19 10:56:08 +00:00
token.rs Auto merge of #40346 - jseyfried:path_and_tokenstream_attr, r=nrc 2017-03-19 10:56:08 +00:00