diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index 12a73e48cbf..2db3fde13ef 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -955,6 +955,9 @@ fn parse_syntax_ext(&parser p) -> @ast::expr { fn parse_syntax_ext_naked(&parser p, uint lo) -> @ast::expr { auto pth = parse_path(p); + if (vec::len(pth.node.idents) == 0u) { + p.fatal("expected a syntax expander name"); + } auto es = parse_seq(token::LPAREN, token::RPAREN, some(token::COMMA), parse_expr, p); auto hi = es.span.hi; diff --git a/src/test/compile-fail/ext-noname.rs b/src/test/compile-fail/ext-noname.rs new file mode 100644 index 00000000000..82395c710a8 --- /dev/null +++ b/src/test/compile-fail/ext-noname.rs @@ -0,0 +1,5 @@ +// error-pattern:expected a syntax expander name + +fn main() { + #(); +} \ No newline at end of file