diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-10-29 17:47:11 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-10-30 14:06:22 -0700 |
| commit | 6ef1ab99c13b9ce77f89ec30f1cbbb06bfd6bdf1 (patch) | |
| tree | e1c5a9559c9c5ea1756a86ad7b973698d1cd9da3 /src/libsyntax/parse | |
| parent | 611c94d984c1c062d6e123d986c0511443900850 (diff) | |
| download | rust-6ef1ab99c13b9ce77f89ec30f1cbbb06bfd6bdf1.tar.gz rust-6ef1ab99c13b9ce77f89ec30f1cbbb06bfd6bdf1.zip | |
syntax: Forbid non-string literals in meta items. #623
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/attr.rs | 10 |
1 files changed, 10 insertions, 0 deletions
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)) } |
