From f3b41c18a8dfbcfec4b2a9e8d9e6a921189e3eea Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Thu, 18 Aug 2016 18:31:47 +0300 Subject: Check fields in union patters/expressions Make parsing of union items backward compatible Add some tests --- src/libsyntax/parse/parser.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 290a59cf1e5..ec9dc1bae5a 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5957,8 +5957,10 @@ impl<'a> Parser<'a> { maybe_append(attrs, extra_attrs)); return Ok(Some(item)); } - if self.eat_keyword(keywords::Union) { + if self.check_keyword(keywords::Union) && + self.look_ahead(1, |t| t.is_ident() && !t.is_any_keyword()) { // UNION ITEM + self.bump(); let (ident, item_, extra_attrs) = self.parse_item_union()?; let last_span = self.last_span; let item = self.mk_item(lo, -- cgit 1.4.1-3-g733a5