diff --git a/crates/parser/src/grammar/items.rs b/crates/parser/src/grammar/items.rs index b2f7cc21f6..8fd8f3b800 100644 --- a/crates/parser/src/grammar/items.rs +++ b/crates/parser/src/grammar/items.rs @@ -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) { diff --git a/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast b/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast index 2f59d0606c..e872526d90 100644 --- a/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast +++ b/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast @@ -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