From 6ef1ab99c13b9ce77f89ec30f1cbbb06bfd6bdf1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 29 Oct 2013 17:47:11 -0700 Subject: syntax: Forbid non-string literals in meta items. #623 --- src/libsyntax/parse/attr.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/attr.rs b/src/libsyntax/parse/attr.rs index a8132860b9b..9030b4394e4 100644 --- a/src/libsyntax/parse/attr.rs +++ b/src/libsyntax/parse/attr.rs @@ -161,6 +161,16 @@ impl parser_attr for Parser { token::EQ => { self.bump(); let lit = self.parse_lit(); + // FIXME #623 Non-string meta items are not serialized correctly; + // just forbid them for now + match lit.node { + ast::lit_str(*) => (), + _ => { + self.span_err( + lit.span, + "non-string literals are not allowed in meta-items"); + } + } let hi = self.span.hi; @spanned(lo, hi, ast::MetaNameValue(name, lit)) } -- cgit 1.4.1-3-g733a5