10085: fix: avoid panic when parsing extern block r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
bors[bot] 2021-08-30 12:57:39 +00:00 committed by GitHub
commit bb1987b45e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 68 additions and 41 deletions

View file

@ -0,0 +1,15 @@
SOURCE_FILE@0..22
ERROR@0..10
ABI@0..10
EXTERN_KW@0..6 "extern"
WHITESPACE@6..7 " "
STRING@7..10 "\"C\""
WHITESPACE@10..11 " "
ERROR@11..21
ABI@11..21
EXTERN_KW@11..17 "extern"
WHITESPACE@17..18 " "
STRING@18..21 "\"C\""
WHITESPACE@21..22 "\n"
error 10..10: expected existential, fn, trait or impl
error 21..21: expected existential, fn, trait or impl

View file

@ -0,0 +1 @@
extern "C" extern "C"

View file

@ -1,9 +1,21 @@
SOURCE_FILE@0..10
EXTERN_BLOCK@0..9
ABI@0..6
EXTERN_KW@0..6 "extern"
SOURCE_FILE@0..31
EXTERN_BLOCK@0..20
UNSAFE_KW@0..6 "unsafe"
WHITESPACE@6..7 " "
EXTERN_ITEM_LIST@7..9
L_CURLY@7..8 "{"
R_CURLY@8..9 "}"
WHITESPACE@9..10 "\n"
ABI@7..17
EXTERN_KW@7..13 "extern"
WHITESPACE@13..14 " "
STRING@14..17 "\"C\""
WHITESPACE@17..18 " "
EXTERN_ITEM_LIST@18..20
L_CURLY@18..19 "{"
R_CURLY@19..20 "}"
WHITESPACE@20..21 "\n"
EXTERN_BLOCK@21..30
ABI@21..27
EXTERN_KW@21..27 "extern"
WHITESPACE@27..28 " "
EXTERN_ITEM_LIST@28..30
L_CURLY@28..29 "{"
R_CURLY@29..30 "}"
WHITESPACE@30..31 "\n"

View file

@ -1 +1,2 @@
unsafe extern "C" {}
extern {}