about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorCrazycolorz5 <Crazycolorz5@gmail.com>2018-06-01 10:05:46 -0400
committerCrazycolorz5 <Crazycolorz5@gmail.com>2018-06-01 10:05:46 -0400
commitc1df62a760734748ce6f928d330dd7909c26557c (patch)
tree10f007888b7dd79592c488c588c1e40b2be34f95 /src/libsyntax/parse
parentdf40e61382a2cba0be621fdabb9971ce3475e9a7 (diff)
downloadrust-c1df62a760734748ce6f928d330dd7909c26557c.tar.gz
rust-c1df62a760734748ce6f928d330dd7909c26557c.zip
Add closing bracket expectation to sequences, modified appropriate test cases.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 7b91c491700..022de0fe409 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -651,7 +651,7 @@ impl<'a> Parser<'a> {
                 Err(err)
             }
         } else {
-            self.expect_one_of(unsafe { slice::from_raw_parts(t, 1) }, &[])
+            self.expect_one_of(slice::from_ref(t), &[])
         }
     }
 
@@ -1107,7 +1107,12 @@ impl<'a> Parser<'a> {
     {
         let mut first: bool = true;
         let mut v = vec![];
-        while !kets.contains(&&self.token) {
+        while !kets.iter().any(|k| {
+                match expect {
+                    TokenExpectType::Expect => self.check(k),
+                    TokenExpectType::NoExpect => self.token == **k,
+                }
+            }) {
             match self.token {
                 token::CloseDelim(..) | token::Eof => break,
                 _ => {}