From e685f041996d0a0e15afa17bda9ee1ae2dad3440 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Sat, 2 Jul 2011 00:59:33 -0400 Subject: [PATCH] Fix assertion failure when syntax extension name is missing. --- src/comp/front/parser.rs | 3 +++ src/test/compile-fail/ext-noname.rs | 5 +++++ 2 files changed, 8 insertions(+) create mode 100644 src/test/compile-fail/ext-noname.rs diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index a3d20d23b6b32..78c7bf1c76f4e 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -966,6 +966,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 0000000000000..82395c710a8f3 --- /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