From 6f4326c54d4638950d30a72aa2aa4aa4bd42fd21 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 16 Jun 2011 17:18:35 -0700 Subject: [PATCH] Add better error messages for bad attributes in .rc files Issue #487 --- src/comp/front/parser.rs | 3 ++- src/test/compile-fail/attr-bad-crate-attr.rc | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/test/compile-fail/attr-bad-crate-attr.rc diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index 06ab575073e6..e5a74fba2957 100644 --- a/src/comp/front/parser.rs +++ b/src/comp/front/parser.rs @@ -2125,7 +2125,8 @@ fn parse_inner_attrs_and_next(&parser p) -> tup(vec[ast::attribute], fn parse_inner_attrs(&parser p) -> vec[ast::attribute] { auto attrs_and_next = parse_inner_attrs_and_next(p); if (vec::len(attrs_and_next._1) > 0u) { - // FIXME: Don't drop this dangling attr on the ground + ret p.err("expected crate directive but found " + + token::to_str(p.get_reader(), p.peek())); } ret attrs_and_next._0; } diff --git a/src/test/compile-fail/attr-bad-crate-attr.rc b/src/test/compile-fail/attr-bad-crate-attr.rc new file mode 100644 index 000000000000..10133a7f2155 --- /dev/null +++ b/src/test/compile-fail/attr-bad-crate-attr.rc @@ -0,0 +1,5 @@ +// xfail-stage0 +// error-pattern: expected crate directive + +#[attr = "val"]; +#[attr = "val"] // Unterminated