Support paths in macro invocations.

This commit is contained in:
Jeffrey Seyfried
2016-11-27 10:58:46 +00:00
parent 29791ada1d
commit ed9a09d40c
4 changed files with 116 additions and 53 deletions

View File

@@ -400,12 +400,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
&self.cx.ecfg.features.unwrap());
}
if path.segments.len() > 1 || path.global || !path.segments[0].parameters.is_empty() {
self.cx.span_err(path.span, "expected macro name without module separators");
return kind.dummy(span);
}
let extname = path.segments[0].identifier.name;
let extname = path.segments.last().unwrap().identifier.name;
let ident = ident.unwrap_or(keywords::Invalid.ident());
let marked_tts = mark_tts(&tts, mark);
let opt_expanded = match *ext {