mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-11-01 04:18:20 +00:00
Add basic edition inline parser test support
This commit is contained in:
parent
7a5bf92b89
commit
713c47f25b
8 changed files with 185 additions and 172 deletions
|
|
@ -1,5 +1,5 @@
|
|||
mod ok {
|
||||
use crate::tests::run_and_expect_no_errors;
|
||||
use crate::tests::*;
|
||||
#[test]
|
||||
fn anonymous_const() {
|
||||
run_and_expect_no_errors("test_data/parser/inline/ok/anonymous_const.rs");
|
||||
|
|
@ -267,6 +267,13 @@ mod ok {
|
|||
run_and_expect_no_errors("test_data/parser/inline/ok/function_where_clause.rs");
|
||||
}
|
||||
#[test]
|
||||
fn gen_blocks() {
|
||||
run_and_expect_no_errors_with_edition(
|
||||
"test_data/parser/inline/ok/gen_blocks.rs",
|
||||
crate::Edition::Edition2024,
|
||||
);
|
||||
}
|
||||
#[test]
|
||||
fn generic_arg() { run_and_expect_no_errors("test_data/parser/inline/ok/generic_arg.rs"); }
|
||||
#[test]
|
||||
fn generic_param_attribute() {
|
||||
|
|
@ -666,7 +673,7 @@ mod ok {
|
|||
fn yield_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/yield_expr.rs"); }
|
||||
}
|
||||
mod err {
|
||||
use crate::tests::run_and_expect_errors;
|
||||
use crate::tests::*;
|
||||
#[test]
|
||||
fn angled_path_without_qual() {
|
||||
run_and_expect_errors("test_data/parser/inline/err/angled_path_without_qual.rs");
|
||||
|
|
@ -708,8 +715,6 @@ mod err {
|
|||
run_and_expect_errors("test_data/parser/inline/err/fn_pointer_type_missing_fn.rs");
|
||||
}
|
||||
#[test]
|
||||
fn gen_blocks() { run_and_expect_errors("test_data/parser/inline/err/gen_blocks.rs"); }
|
||||
#[test]
|
||||
fn gen_fn() { run_and_expect_errors("test_data/parser/inline/err/gen_fn.rs"); }
|
||||
#[test]
|
||||
fn generic_arg_list_recover() {
|
||||
|
|
|
|||
|
|
@ -1,139 +0,0 @@
|
|||
SOURCE_FILE
|
||||
FN
|
||||
VISIBILITY
|
||||
PUB_KW "pub"
|
||||
WHITESPACE " "
|
||||
FN_KW "fn"
|
||||
WHITESPACE " "
|
||||
NAME
|
||||
IDENT "main"
|
||||
PARAM_LIST
|
||||
L_PAREN "("
|
||||
R_PAREN ")"
|
||||
WHITESPACE " "
|
||||
BLOCK_EXPR
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
RECORD_EXPR
|
||||
PATH
|
||||
PATH_SEGMENT
|
||||
NAME_REF
|
||||
IDENT "gen"
|
||||
WHITESPACE " "
|
||||
RECORD_EXPR_FIELD_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
ERROR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
ERROR
|
||||
STRING "\"\""
|
||||
ERROR
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
ERROR
|
||||
ASYNC_KW "async"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
RECORD_EXPR
|
||||
PATH
|
||||
PATH_SEGMENT
|
||||
NAME_REF
|
||||
IDENT "gen"
|
||||
WHITESPACE " "
|
||||
RECORD_EXPR_FIELD_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
ERROR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
ERROR
|
||||
STRING "\"\""
|
||||
ERROR
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
PATH_EXPR
|
||||
PATH
|
||||
PATH_SEGMENT
|
||||
NAME_REF
|
||||
IDENT "gen"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
CLOSURE_EXPR
|
||||
MOVE_KW "move"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
ERROR
|
||||
ASYNC_KW "async"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
PATH_EXPR
|
||||
PATH
|
||||
PATH_SEGMENT
|
||||
NAME_REF
|
||||
IDENT "gen"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
CLOSURE_EXPR
|
||||
MOVE_KW "move"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n"
|
||||
R_CURLY "}"
|
||||
WHITESPACE "\n"
|
||||
error 26: expected identifier
|
||||
error 31: expected COMMA
|
||||
error 32: expected identifier
|
||||
error 34: expected COMMA
|
||||
error 34: expected identifier
|
||||
error 48: expected fn, trait or impl
|
||||
error 55: expected identifier
|
||||
error 60: expected COMMA
|
||||
error 61: expected identifier
|
||||
error 63: expected COMMA
|
||||
error 63: expected identifier
|
||||
error 75: expected SEMICOLON
|
||||
error 80: expected `|`
|
||||
error 80: expected SEMICOLON
|
||||
error 105: expected fn, trait or impl
|
||||
error 109: expected SEMICOLON
|
||||
error 114: expected `|`
|
||||
error 114: expected SEMICOLON
|
||||
101
crates/parser/test_data/parser/inline/ok/gen_blocks.rast
Normal file
101
crates/parser/test_data/parser/inline/ok/gen_blocks.rast
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
SOURCE_FILE
|
||||
FN
|
||||
COMMENT "// 2024"
|
||||
WHITESPACE "\n"
|
||||
VISIBILITY
|
||||
PUB_KW "pub"
|
||||
WHITESPACE " "
|
||||
FN_KW "fn"
|
||||
WHITESPACE " "
|
||||
NAME
|
||||
IDENT "main"
|
||||
PARAM_LIST
|
||||
L_PAREN "("
|
||||
R_PAREN ")"
|
||||
WHITESPACE " "
|
||||
BLOCK_EXPR
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
GEN_KW "gen"
|
||||
WHITESPACE " "
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
ASYNC_KW "async"
|
||||
WHITESPACE " "
|
||||
GEN_KW "gen"
|
||||
WHITESPACE " "
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
GEN_KW "gen"
|
||||
WHITESPACE " "
|
||||
MOVE_KW "move"
|
||||
WHITESPACE " "
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n "
|
||||
EXPR_STMT
|
||||
BLOCK_EXPR
|
||||
ASYNC_KW "async"
|
||||
WHITESPACE " "
|
||||
GEN_KW "gen"
|
||||
WHITESPACE " "
|
||||
MOVE_KW "move"
|
||||
WHITESPACE " "
|
||||
STMT_LIST
|
||||
L_CURLY "{"
|
||||
WHITESPACE " "
|
||||
EXPR_STMT
|
||||
YIELD_EXPR
|
||||
YIELD_KW "yield"
|
||||
WHITESPACE " "
|
||||
LITERAL
|
||||
STRING "\"\""
|
||||
SEMICOLON ";"
|
||||
WHITESPACE " "
|
||||
R_CURLY "}"
|
||||
SEMICOLON ";"
|
||||
WHITESPACE "\n"
|
||||
R_CURLY "}"
|
||||
WHITESPACE "\n"
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
// 2024
|
||||
pub fn main() {
|
||||
gen { yield ""; };
|
||||
async gen { yield ""; };
|
||||
Loading…
Add table
Add a link
Reference in a new issue