]> git.lizzy.rs Git - rust.git/commitdiff
Better recovery in `use foo::;`
authorAleksey Kladov <aleksey.kladov@gmail.com>
Thu, 13 Aug 2020 16:28:23 +0000 (18:28 +0200)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Thu, 13 Aug 2020 16:50:21 +0000 (18:50 +0200)
crates/parser/src/grammar/items.rs
crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast

index b2f7cc21f68122a12eec22394b5e06ad25f31853..8fd8f3b8000256d9720b169138bad1322cb1e0d3 100644 (file)
@@ -27,8 +27,20 @@ pub(super) fn mod_contents(p: &mut Parser, stop_on_r_curly: bool) {
 }
 
 pub(super) const ITEM_RECOVERY_SET: TokenSet = token_set![
-    FN_KW, STRUCT_KW, ENUM_KW, IMPL_KW, TRAIT_KW, CONST_KW, STATIC_KW, LET_KW, MOD_KW, PUB_KW,
-    CRATE_KW, USE_KW, MACRO_KW
+    FN_KW,
+    STRUCT_KW,
+    ENUM_KW,
+    IMPL_KW,
+    TRAIT_KW,
+    CONST_KW,
+    STATIC_KW,
+    LET_KW,
+    MOD_KW,
+    PUB_KW,
+    CRATE_KW,
+    USE_KW,
+    MACRO_KW,
+    T![;],
 ];
 
 pub(super) fn item_or_macro(p: &mut Parser, stop_on_r_curly: bool) {
index 2f59d0606c09d4527befe77fc4c2ffd6ea7c9253..e872526d9089c567a8b85b04c389446364cb88b6 100644 (file)
@@ -2,14 +2,12 @@ SOURCE_FILE@0..13
   USE@0..12
     USE_KW@0..3 "use"
     WHITESPACE@3..4 " "
-    USE_TREE@4..12
-      PATH@4..12
+    USE_TREE@4..11
+      PATH@4..11
         PATH@4..9
           PATH_SEGMENT@4..9
             CRATE_KW@4..9 "crate"
         COLON2@9..11 "::"
-        ERROR@11..12
-          SEMICOLON@11..12 ";"
+    SEMICOLON@11..12 ";"
   WHITESPACE@12..13 "\n"
 error 11..11: expected identifier
-error 12..12: expected SEMICOLON