auto merge of #11803 : sfackler/rust/simple-mac, r=brson
Now that procedural macros can be implemented outside of the compiler,
it's more important to have a reasonable API to work with. Here are the
basic changes:
* Rename SyntaxExpanderTTTrait to MacroExpander, SyntaxExpanderTT to
BasicMacroExpander, etc. I think "procedural macro" is the right
term for these now, right? The other option would be SynExtExpander
or something like that.
* Stop passing the SyntaxContext to extensions. This was only ever used
by macro_rules, which doesn't even use it anymore. I can't think of
a context in which an external extension would need it, and removal
allows the API to be significantly simpler - no more
SyntaxExpanderTTItemExpanderWithoutContext wrappers to worry about.
This commit is contained in:
commit
897a0a388f
4 changed files with 72 additions and 141 deletions
|
|
@ -27,8 +27,8 @@ macro_rules! unexported_macro (() => (3))
|
|||
#[macro_registrar]
|
||||
pub fn macro_registrar(register: |Name, SyntaxExtension|) {
|
||||
register(token::intern("make_a_1"),
|
||||
NormalTT(~SyntaxExpanderTT {
|
||||
expander: SyntaxExpanderTTExpanderWithoutContext(expand_make_a_1),
|
||||
NormalTT(~BasicMacroExpander {
|
||||
expander: expand_make_a_1,
|
||||
span: None,
|
||||
},
|
||||
None));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue