aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax/test_data
diff options
context:
space:
mode:
Diffstat (limited to 'crates/syntax/test_data')
-rw-r--r--crates/syntax/test_data/accidentally_quadratic3980
-rw-r--r--crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt10
-rw-r--r--crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt10
-rw-r--r--crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.rs1
-rw-r--r--crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.txt2
-rw-r--r--crates/syntax/test_data/lexer/err/0055_empty_int.rs17
-rw-r--r--crates/syntax/test_data/lexer/err/0055_empty_int.txt39
-rw-r--r--crates/syntax/test_data/lexer/err/0056_empty_exponent.rs22
-rw-r--r--crates/syntax/test_data/lexer/err/0056_empty_exponent.txt62
-rw-r--r--crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.rs2
-rw-r--r--crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.txt6
-rw-r--r--crates/syntax/test_data/lexer/ok/0001_hello.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0001_hello.txt3
-rw-r--r--crates/syntax/test_data/lexer/ok/0002_whitespace.rs4
-rw-r--r--crates/syntax/test_data/lexer/ok/0002_whitespace.txt12
-rw-r--r--crates/syntax/test_data/lexer/ok/0003_ident.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0003_ident.txt14
-rw-r--r--crates/syntax/test_data/lexer/ok/0004_numbers.rs9
-rw-r--r--crates/syntax/test_data/lexer/ok/0004_numbers.txt57
-rw-r--r--crates/syntax/test_data/lexer/ok/0005_symbols.rs6
-rw-r--r--crates/syntax/test_data/lexer/ok/0005_symbols.txt77
-rw-r--r--crates/syntax/test_data/lexer/ok/0006_chars.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0006_chars.txt16
-rw-r--r--crates/syntax/test_data/lexer/ok/0007_lifetimes.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0007_lifetimes.txt8
-rw-r--r--crates/syntax/test_data/lexer/ok/0008_byte_strings.rs3
-rw-r--r--crates/syntax/test_data/lexer/ok/0008_byte_strings.txt22
-rw-r--r--crates/syntax/test_data/lexer/ok/0009_strings.rs2
-rw-r--r--crates/syntax/test_data/lexer/ok/0009_strings.txt8
-rw-r--r--crates/syntax/test_data/lexer/ok/0010_single_line_comments.rs12
-rw-r--r--crates/syntax/test_data/lexer/ok/0010_single_line_comments.txt22
-rw-r--r--crates/syntax/test_data/lexer/ok/0011_keywords.rs3
-rw-r--r--crates/syntax/test_data/lexer/ok/0011_keywords.txt64
-rw-r--r--crates/syntax/test_data/lexer/ok/0012_block_comment.rs3
-rw-r--r--crates/syntax/test_data/lexer/ok/0012_block_comment.txt6
-rw-r--r--crates/syntax/test_data/lexer/ok/0013_raw_strings.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0013_raw_strings.txt2
-rw-r--r--crates/syntax/test_data/lexer/ok/0014_raw_ident.rs1
-rw-r--r--crates/syntax/test_data/lexer/ok/0014_raw_ident.txt2
-rw-r--r--crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rast34
-rw-r--r--crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rast18
-rw-r--r--crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0002_duplicate_shebang.rast39
-rw-r--r--crates/syntax/test_data/parser/err/0002_duplicate_shebang.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0003_C++_semicolon.rast39
-rw-r--r--crates/syntax/test_data/parser/err/0003_C++_semicolon.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rast15
-rw-r--r--crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rs1
-rw-r--r--crates/syntax/test_data/parser/err/0005_attribute_recover.rast59
-rw-r--r--crates/syntax/test_data/parser/err/0005_attribute_recover.rs8
-rw-r--r--crates/syntax/test_data/parser/err/0006_named_field_recovery.rast74
-rw-r--r--crates/syntax/test_data/parser/err/0006_named_field_recovery.rs7
-rw-r--r--crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rast32
-rw-r--r--crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rs9
-rw-r--r--crates/syntax/test_data/parser/err/0008_item_block_recovery.rast77
-rw-r--r--crates/syntax/test_data/parser/err/0008_item_block_recovery.rs13
-rw-r--r--crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast58
-rw-r--r--crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rs5
-rw-r--r--crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rast44
-rw-r--r--crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0011_extern_struct.rast13
-rw-r--r--crates/syntax/test_data/parser/err/0011_extern_struct.rs1
-rw-r--r--crates/syntax/test_data/parser/err/0012_broken_lambda.rast387
-rw-r--r--crates/syntax/test_data/parser/err/0013_invalid_type.rast89
-rw-r--r--crates/syntax/test_data/parser/err/0013_invalid_type.rs7
-rw-r--r--crates/syntax/test_data/parser/err/0014_where_no_bounds.rast31
-rw-r--r--crates/syntax/test_data/parser/err/0014_where_no_bounds.rs1
-rw-r--r--crates/syntax/test_data/parser/err/0015_curly_in_params.rast24
-rw-r--r--crates/syntax/test_data/parser/err/0015_curly_in_params.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0016_missing_semi.rast43
-rw-r--r--crates/syntax/test_data/parser/err/0016_missing_semi.rs6
-rw-r--r--crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rast46
-rw-r--r--crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0018_incomplete_fn.rast131
-rw-r--r--crates/syntax/test_data/parser/err/0018_incomplete_fn.rs8
-rw-r--r--crates/syntax/test_data/parser/err/0019_let_recover.rast103
-rw-r--r--crates/syntax/test_data/parser/err/0019_let_recover.rs12
-rw-r--r--crates/syntax/test_data/parser/err/0020_fn_recover.rast20
-rw-r--r--crates/syntax/test_data/parser/err/0020_fn_recover.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0021_incomplete_param.rast34
-rw-r--r--crates/syntax/test_data/parser/err/0021_incomplete_param.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0022_bad_exprs.rast180
-rw-r--r--crates/syntax/test_data/parser/err/0022_bad_exprs.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0023_mismatched_paren.rast43
-rw-r--r--crates/syntax/test_data/parser/err/0023_mismatched_paren.rs5
-rw-r--r--crates/syntax/test_data/parser/err/0024_many_type_parens.rast319
-rw-r--r--crates/syntax/test_data/parser/err/0024_many_type_parens.rs7
-rw-r--r--crates/syntax/test_data/parser/err/0025_nope.rast202
-rw-r--r--crates/syntax/test_data/parser/err/0025_nope.rs31
-rw-r--r--crates/syntax/test_data/parser/err/0026_imp_recovery.rast49
-rw-r--r--crates/syntax/test_data/parser/err/0026_imp_recovery.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0027_incomplere_where_for.rast27
-rw-r--r--crates/syntax/test_data/parser/err/0027_incomplere_where_for.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0029_field_completion.rast35
-rw-r--r--crates/syntax/test_data/parser/err/0029_field_completion.rs3
-rw-r--r--crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast121
-rw-r--r--crates/syntax/test_data/parser/err/0031_block_inner_attrs.rs15
-rw-r--r--crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast203
-rw-r--r--crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rs20
-rw-r--r--crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast66
-rw-r--r--crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rs7
-rw-r--r--crates/syntax/test_data/parser/err/0034_bad_box_pattern.rast95
-rw-r--r--crates/syntax/test_data/parser/err/0034_bad_box_pattern.rs6
-rw-r--r--crates/syntax/test_data/parser/err/0035_use_recover.rast53
-rw-r--r--crates/syntax/test_data/parser/err/0035_use_recover.rs5
-rw-r--r--crates/syntax/test_data/parser/err/0036_partial_use.rast51
-rw-r--r--crates/syntax/test_data/parser/err/0036_partial_use.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0037_visibility_in_traits.rast97
-rw-r--r--crates/syntax/test_data/parser/err/0037_visibility_in_traits.rs6
-rw-r--r--crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rast29
-rw-r--r--crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0039_lambda_recovery.rast82
-rw-r--r--crates/syntax/test_data/parser/err/0039_lambda_recovery.rs5
-rw-r--r--crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rast91
-rw-r--r--crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast70
-rw-r--r--crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs4
-rw-r--r--crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast27
-rw-r--r--crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs2
-rw-r--r--crates/syntax/test_data/parser/err/0043_weird_blocks.rast71
-rw-r--r--crates/syntax/test_data/parser/err/0043_weird_blocks.rs6
-rw-r--r--crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast240
-rw-r--r--crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs9
-rw-r--r--crates/syntax/test_data/parser/err/0045_item_modifiers.rast45
-rw-r--r--crates/syntax/test_data/parser/err/0045_item_modifiers.rs2
-rw-r--r--crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rast8
-rw-r--r--crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rast12
-rw-r--r--crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/err/0001_expression.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/err/0001_expression.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rast4
-rw-r--r--crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rast14
-rw-r--r--crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rast10
-rw-r--r--crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rast1
-rw-r--r--crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rs1
-rw-r--r--crates/syntax/test_data/parser/fragments/type/ok/0000_result.rast22
-rw-r--r--crates/syntax/test_data/parser/fragments/type/ok/0000_result.rs1
-rw-r--r--crates/syntax/test_data/parser/fuzz-failures/0000.rs199
-rw-r--r--crates/syntax/test_data/parser/fuzz-failures/0001.rs106
-rw-r--r--crates/syntax/test_data/parser/fuzz-failures/0002.rs1
-rw-r--r--crates/syntax/test_data/parser/fuzz-failures/0003.rs1
-rw-r--r--crates/syntax/test_data/parser/fuzz-failures/0004.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast27
-rw-r--r--crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast28
-rw-r--r--crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0004_impl_type.rast79
-rw-r--r--crates/syntax/test_data/parser/inline/err/0004_impl_type.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast35
-rw-r--r--crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast31
-rw-r--r--crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0008_pub_expr.rast25
-rw-r--r--crates/syntax/test_data/parser/inline/err/0008_pub_expr.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast58
-rw-r--r--crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast52
-rw-r--r--crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/err/0013_static_underscore.rast21
-rw-r--r--crates/syntax/test_data/parser/inline/err/0013_static_underscore.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast48
-rw-r--r--crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast13
-rw-r--r--crates/syntax/test_data/parser/inline/err/0015_empty_segment.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rast136
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rast60
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast60
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rast37
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0006_self_param.rast116
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0006_self_param.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast40
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0008_path_part.rast96
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0008_path_part.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rast24
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0010_extern_block.rast9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0010_extern_block.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0011_field_expr.rast59
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0011_field_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast33
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast35
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0014_never_type.rast13
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0014_never_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rast35
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0017_array_type.rast21
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0017_array_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rast72
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rast44
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0020_use_star.rast59
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0020_use_star.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rast78
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rast53
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rast13
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rast41
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0025_slice_type.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0025_slice_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast104
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rast49
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast43
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rast89
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0030_cond.rast202
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0030_cond.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0031_while_expr.rast84
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0031_while_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast98
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rast50
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0034_break_expr.rast53
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0034_break_expr.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rast78
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rast28
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0039_type_arg.rast55
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0039_type_arg.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast62
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0041_trait_item.rast125
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0041_trait_item.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0042_call_expr.rast147
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0042_call_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0043_use_alias.rast138
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0043_use_alias.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0044_block_items.rast28
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0044_block_items.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast46
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast20
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast81
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rast22
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0051_unit_type.rast14
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0051_unit_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0052_path_type.rast70
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0052_path_type.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0053_path_expr.rast95
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0053_path_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast44
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rast76
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0056_where_clause.rast110
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0056_where_clause.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0058_range_pat.rast82
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0058_range_pat.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast58
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rast10
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0061_record_lit.rast124
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0061_record_lit.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rast66
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0064_if_expr.rast121
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0064_if_expr.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast43
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0066_match_arm.rast151
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0066_match_arm.rs9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0067_crate_path.rast15
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0067_crate_path.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0068_union_items.rast46
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0068_union_items.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast37
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast50
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0071_match_expr.rast93
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0071_match_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0072_return_expr.rast28
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0072_return_expr.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast20
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast59
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs7
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0075_block.rast86
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0075_block.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rast39
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0077_try_expr.rast25
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0077_try_expr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0078_type_item.rast16
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0078_type_item.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0079_impl_def.rast14
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0079_impl_def.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rast95
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0081_for_type.rast112
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0081_for_type.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rast138
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rs10
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0083_struct_items.rast87
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0083_struct_items.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0084_paren_type.rast19
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0084_paren_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rast135
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rs12
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rast34
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast65
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rast22
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0093_index_expr.rast33
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0093_index_expr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast28
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast123
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rs13
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0099_param_list.rast99
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0099_param_list.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0100_for_expr.rast34
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0100_for_expr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast132
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0103_array_expr.rast54
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0103_array_expr.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast41
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rast135
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rs9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rast62
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rast38
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0109_label.rast64
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0109_label.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0110_use_path.rast38
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0110_use_path.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rast89
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rast127
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast55
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast64
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast41
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rast43
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast40
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0118_match_guard.rast47
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0118_match_guard.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast80
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast145
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs12
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast65
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast50
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast31
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast47
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast97
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs6
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast57
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rast36
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast126
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rs9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rast31
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0131_existential_type.rast31
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0131_existential_type.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0132_box_expr.rast89
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0132_box_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast62
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0137_await_expr.rast69
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0137_await_expr.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast55
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rast64
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast25
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast34
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rast40
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0143_box_pat.rast110
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0143_box_pat.rs5
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast455
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rs25
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rast75
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rs4
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rast42
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0147_const_param.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0147_const_param.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0147_macro_def.rast45
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0147_macro_def.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast21
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast47
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rast38
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0151_fn.rast14
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0151_fn.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rast128
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast36
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0152_impl.rast22
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0152_impl.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0153_trait.rast11
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0153_trait.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast58
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs2
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0155_closure_params.rast69
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0155_closure_params.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rast43
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rast111
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rs8
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast26
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast30
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast36
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast43
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast34
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rast27
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rast26
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rast44
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rs3
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0164_default_item.rast24
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0164_default_item.rs1
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rast38
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rs1
-rw-r--r--crates/syntax/test_data/parser/ok/0000_empty.rast1
-rw-r--r--crates/syntax/test_data/parser/ok/0000_empty.rs0
-rw-r--r--crates/syntax/test_data/parser/ok/0001_struct_item.rast39
-rw-r--r--crates/syntax/test_data/parser/ok/0001_struct_item.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0002_struct_item_field.rast22
-rw-r--r--crates/syntax/test_data/parser/ok/0002_struct_item_field.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0004_file_shebang.rast2
-rw-r--r--crates/syntax/test_data/parser/ok/0004_file_shebang.rs1
-rw-r--r--crates/syntax/test_data/parser/ok/0005_fn_item.rast15
-rw-r--r--crates/syntax/test_data/parser/ok/0005_fn_item.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0006_inner_attributes.rast184
-rw-r--r--crates/syntax/test_data/parser/ok/0006_inner_attributes.rs10
-rw-r--r--crates/syntax/test_data/parser/ok/0007_extern_crate.rast39
-rw-r--r--crates/syntax/test_data/parser/ok/0007_extern_crate.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0008_mod_item.rast92
-rw-r--r--crates/syntax/test_data/parser/ok/0008_mod_item.rs17
-rw-r--r--crates/syntax/test_data/parser/ok/0009_use_item.rast21
-rw-r--r--crates/syntax/test_data/parser/ok/0009_use_item.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0010_use_path_segments.rast42
-rw-r--r--crates/syntax/test_data/parser/ok/0010_use_path_segments.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0011_outer_attribute.rast57
-rw-r--r--crates/syntax/test_data/parser/ok/0011_outer_attribute.rs6
-rw-r--r--crates/syntax/test_data/parser/ok/0012_visibility.rast102
-rw-r--r--crates/syntax/test_data/parser/ok/0012_visibility.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0013_use_path_self_super.rast33
-rw-r--r--crates/syntax/test_data/parser/ok/0013_use_path_self_super.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0014_use_tree.rast95
-rw-r--r--crates/syntax/test_data/parser/ok/0014_use_tree.rs7
-rw-r--r--crates/syntax/test_data/parser/ok/0015_use_tree.rast65
-rw-r--r--crates/syntax/test_data/parser/ok/0015_use_tree.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0016_struct_flavors.rast93
-rw-r--r--crates/syntax/test_data/parser/ok/0016_struct_flavors.rs10
-rw-r--r--crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast28
-rw-r--r--crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0018_struct_type_params.rast257
-rw-r--r--crates/syntax/test_data/parser/ok/0018_struct_type_params.rs17
-rw-r--r--crates/syntax/test_data/parser/ok/0019_enums.rast155
-rw-r--r--crates/syntax/test_data/parser/ok/0019_enums.rs25
-rw-r--r--crates/syntax/test_data/parser/ok/0020_type_param_bounds.rast268
-rw-r--r--crates/syntax/test_data/parser/ok/0020_type_param_bounds.rs10
-rw-r--r--crates/syntax/test_data/parser/ok/0022_empty_extern_block.rast21
-rw-r--r--crates/syntax/test_data/parser/ok/0022_empty_extern_block.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0023_static_items.rast41
-rw-r--r--crates/syntax/test_data/parser/ok/0023_static_items.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0024_const_item.rast59
-rw-r--r--crates/syntax/test_data/parser/ok/0024_const_item.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rast31
-rw-r--r--crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rast30
-rw-r--r--crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast41
-rw-r--r--crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rs4
-rw-r--r--crates/syntax/test_data/parser/ok/0028_operator_binding_power.rast185
-rw-r--r--crates/syntax/test_data/parser/ok/0028_operator_binding_power.rs14
-rw-r--r--crates/syntax/test_data/parser/ok/0029_range_forms.rast151
-rw-r--r--crates/syntax/test_data/parser/ok/0029_range_forms.rs11
-rw-r--r--crates/syntax/test_data/parser/ok/0030_string_suffixes.rast63
-rw-r--r--crates/syntax/test_data/parser/ok/0030_string_suffixes.rs6
-rw-r--r--crates/syntax/test_data/parser/ok/0030_traits.rast61
-rw-r--r--crates/syntax/test_data/parser/ok/0030_traits.rs7
-rw-r--r--crates/syntax/test_data/parser/ok/0031_extern.rast973
-rw-r--r--crates/syntax/test_data/parser/ok/0031_extern.rs29
-rw-r--r--crates/syntax/test_data/parser/ok/0032_where_for.rast90
-rw-r--r--crates/syntax/test_data/parser/ok/0032_where_for.rs4
-rw-r--r--crates/syntax/test_data/parser/ok/0033_label_break.rast215
-rw-r--r--crates/syntax/test_data/parser/ok/0033_label_break.rs28
-rw-r--r--crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rast41
-rw-r--r--crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0035_weird_exprs.rast2291
-rw-r--r--crates/syntax/test_data/parser/ok/0035_weird_exprs.rs154
-rw-r--r--crates/syntax/test_data/parser/ok/0036_fully_qualified.rast92
-rw-r--r--crates/syntax/test_data/parser/ok/0036_fully_qualified.rs8
-rw-r--r--crates/syntax/test_data/parser/ok/0037_mod.rast16
-rw-r--r--crates/syntax/test_data/parser/ok/0037_mod.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0038_where_pred_type.rast42
-rw-r--r--crates/syntax/test_data/parser/ok/0038_where_pred_type.rs1
-rw-r--r--crates/syntax/test_data/parser/ok/0039_raw_fn_item.rast15
-rw-r--r--crates/syntax/test_data/parser/ok/0039_raw_fn_item.rs2
-rw-r--r--crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rast22
-rw-r--r--crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0041_raw_keywords.rast49
-rw-r--r--crates/syntax/test_data/parser/ok/0041_raw_keywords.rs1
-rw-r--r--crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rast123
-rw-r--r--crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rs15
-rw-r--r--crates/syntax/test_data/parser/ok/0043_complex_assignment.rast109
-rw-r--r--crates/syntax/test_data/parser/ok/0043_complex_assignment.rs8
-rw-r--r--crates/syntax/test_data/parser/ok/0044_let_attrs.rast75
-rw-r--r--crates/syntax/test_data/parser/ok/0044_let_attrs.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rast177
-rw-r--r--crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rs20
-rw-r--r--crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast28
-rw-r--r--crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rs4
-rw-r--r--crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast320
-rw-r--r--crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rs27
-rw-r--r--crates/syntax/test_data/parser/ok/0048_compound_assignment.rast200
-rw-r--r--crates/syntax/test_data/parser/ok/0048_compound_assignment.rs17
-rw-r--r--crates/syntax/test_data/parser/ok/0049_async_block.rast35
-rw-r--r--crates/syntax/test_data/parser/ok/0049_async_block.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rast90
-rw-r--r--crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast508
-rw-r--r--crates/syntax/test_data/parser/ok/0051_parameter_attrs.rs21
-rw-r--r--crates/syntax/test_data/parser/ok/0052_for_range_block.rast78
-rw-r--r--crates/syntax/test_data/parser/ok/0052_for_range_block.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast39
-rw-r--r--crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast123
-rw-r--r--crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rast49
-rw-r--r--crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0056_neq_in_type.rast64
-rw-r--r--crates/syntax/test_data/parser/ok/0056_neq_in_type.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0057_loop_in_call.rast56
-rw-r--r--crates/syntax/test_data/parser/ok/0057_loop_in_call.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rast96
-rw-r--r--crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rs7
-rw-r--r--crates/syntax/test_data/parser/ok/0059_loops_in_parens.rast97
-rw-r--r--crates/syntax/test_data/parser/ok/0059_loops_in_parens.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0060_as_range.rast55
-rw-r--r--crates/syntax/test_data/parser/ok/0060_as_range.rs4
-rw-r--r--crates/syntax/test_data/parser/ok/0061_match_full_range.rast26
-rw-r--r--crates/syntax/test_data/parser/ok/0061_match_full_range.rs4
-rw-r--r--crates/syntax/test_data/parser/ok/0062_macro_2.0.rast175
-rw-r--r--crates/syntax/test_data/parser/ok/0062_macro_2.0.rs15
-rw-r--r--crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rast194
-rw-r--r--crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rs7
-rw-r--r--crates/syntax/test_data/parser/ok/0063_variadic_fun.rast133
-rw-r--r--crates/syntax/test_data/parser/ok/0063_variadic_fun.rs5
-rw-r--r--crates/syntax/test_data/parser/ok/0064_impl_fn_params.rast162
-rw-r--r--crates/syntax/test_data/parser/ok/0064_impl_fn_params.rs6
-rw-r--r--crates/syntax/test_data/parser/ok/0065_comment_newline.rast16
-rw-r--r--crates/syntax/test_data/parser/ok/0065_comment_newline.rs3
-rw-r--r--crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast60
-rw-r--r--crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rs1
-rw-r--r--crates/syntax/test_data/parser/ok/0066_default_modifier.rast218
-rw-r--r--crates/syntax/test_data/parser/ok/0066_default_modifier.rs16
-rw-r--r--crates/syntax/test_data/parser/ok/0067_where_for_pred.rast392
-rw-r--r--crates/syntax/test_data/parser/ok/0067_where_for_pred.rs30
-rw-r--r--crates/syntax/test_data/parser/ok/0068_item_modifiers.rast218
-rw-r--r--crates/syntax/test_data/parser/ok/0068_item_modifiers.rs16
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0000.rs6
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0001.rs4
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0002.rs4
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0003.rsbin0 -> 8 bytes
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0004.rs4
-rw-r--r--crates/syntax/test_data/reparse/fuzz-failures/0005.rs7
737 files changed, 30178 insertions, 0 deletions
diff --git a/crates/syntax/test_data/accidentally_quadratic b/crates/syntax/test_data/accidentally_quadratic
new file mode 100644
index 000000000..428f83a62
--- /dev/null
+++ b/crates/syntax/test_data/accidentally_quadratic
@@ -0,0 +1,3980 @@
1#[doc = r" Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Control Register"]
5 pub cr: CR,
6 #[doc = "0x04 - Error Status Register"]
7 pub es: ES,
8 _reserved0: [u8; 4usize],
9 #[doc = "0x0c - Enable Request Register"]
10 pub erq: ERQ,
11 _reserved1: [u8; 4usize],
12 #[doc = "0x14 - Enable Error Interrupt Register"]
13 pub eei: EEI,
14 #[doc = "0x18 - Clear Enable Error Interrupt Register"]
15 pub ceei: CEEI,
16 #[doc = "0x19 - Set Enable Error Interrupt Register"]
17 pub seei: SEEI,
18 #[doc = "0x1a - Clear Enable Request Register"]
19 pub cerq: CERQ,
20 #[doc = "0x1b - Set Enable Request Register"]
21 pub serq: SERQ,
22 #[doc = "0x1c - Clear DONE Status Bit Register"]
23 pub cdne: CDNE,
24 #[doc = "0x1d - Set START Bit Register"]
25 pub ssrt: SSRT,
26 #[doc = "0x1e - Clear Error Register"]
27 pub cerr: CERR,
28 #[doc = "0x1f - Clear Interrupt Request Register"]
29 pub cint: CINT,
30 _reserved2: [u8; 4usize],
31 #[doc = "0x24 - Interrupt Request Register"]
32 pub int: INT,
33 _reserved3: [u8; 4usize],
34 #[doc = "0x2c - Error Register"]
35 pub err: ERR,
36 _reserved4: [u8; 4usize],
37 #[doc = "0x34 - Hardware Request Status Register"]
38 pub hrs: HRS,
39 _reserved5: [u8; 12usize],
40 #[doc = "0x44 - Enable Asynchronous Request in Stop Register"]
41 pub ears: EARS,
42 _reserved6: [u8; 184usize],
43 #[doc = "0x100 - Channel n Priority Register"]
44 pub dchpri3: DCHPRI3,
45 #[doc = "0x101 - Channel n Priority Register"]
46 pub dchpri2: DCHPRI2,
47 #[doc = "0x102 - Channel n Priority Register"]
48 pub dchpri1: DCHPRI1,
49 #[doc = "0x103 - Channel n Priority Register"]
50 pub dchpri0: DCHPRI0,
51 #[doc = "0x104 - Channel n Priority Register"]
52 pub dchpri7: DCHPRI7,
53 #[doc = "0x105 - Channel n Priority Register"]
54 pub dchpri6: DCHPRI6,
55 #[doc = "0x106 - Channel n Priority Register"]
56 pub dchpri5: DCHPRI5,
57 #[doc = "0x107 - Channel n Priority Register"]
58 pub dchpri4: DCHPRI4,
59 #[doc = "0x108 - Channel n Priority Register"]
60 pub dchpri11: DCHPRI11,
61 #[doc = "0x109 - Channel n Priority Register"]
62 pub dchpri10: DCHPRI10,
63 #[doc = "0x10a - Channel n Priority Register"]
64 pub dchpri9: DCHPRI9,
65 #[doc = "0x10b - Channel n Priority Register"]
66 pub dchpri8: DCHPRI8,
67 #[doc = "0x10c - Channel n Priority Register"]
68 pub dchpri15: DCHPRI15,
69 #[doc = "0x10d - Channel n Priority Register"]
70 pub dchpri14: DCHPRI14,
71 #[doc = "0x10e - Channel n Priority Register"]
72 pub dchpri13: DCHPRI13,
73 #[doc = "0x10f - Channel n Priority Register"]
74 pub dchpri12: DCHPRI12,
75 #[doc = "0x110 - Channel n Priority Register"]
76 pub dchpri19: DCHPRI19,
77 #[doc = "0x111 - Channel n Priority Register"]
78 pub dchpri18: DCHPRI18,
79 #[doc = "0x112 - Channel n Priority Register"]
80 pub dchpri17: DCHPRI17,
81 #[doc = "0x113 - Channel n Priority Register"]
82 pub dchpri16: DCHPRI16,
83 #[doc = "0x114 - Channel n Priority Register"]
84 pub dchpri23: DCHPRI23,
85 #[doc = "0x115 - Channel n Priority Register"]
86 pub dchpri22: DCHPRI22,
87 #[doc = "0x116 - Channel n Priority Register"]
88 pub dchpri21: DCHPRI21,
89 #[doc = "0x117 - Channel n Priority Register"]
90 pub dchpri20: DCHPRI20,
91 #[doc = "0x118 - Channel n Priority Register"]
92 pub dchpri27: DCHPRI27,
93 #[doc = "0x119 - Channel n Priority Register"]
94 pub dchpri26: DCHPRI26,
95 #[doc = "0x11a - Channel n Priority Register"]
96 pub dchpri25: DCHPRI25,
97 #[doc = "0x11b - Channel n Priority Register"]
98 pub dchpri24: DCHPRI24,
99 #[doc = "0x11c - Channel n Priority Register"]
100 pub dchpri31: DCHPRI31,
101 #[doc = "0x11d - Channel n Priority Register"]
102 pub dchpri30: DCHPRI30,
103 #[doc = "0x11e - Channel n Priority Register"]
104 pub dchpri29: DCHPRI29,
105 #[doc = "0x11f - Channel n Priority Register"]
106 pub dchpri28: DCHPRI28,
107 _reserved7: [u8; 3808usize],
108 #[doc = "0x1000 - TCD Source Address"]
109 pub tcd0_saddr: TCD0_SADDR,
110 #[doc = "0x1004 - TCD Signed Source Address Offset"]
111 pub tcd0_soff: TCD0_SOFF,
112 #[doc = "0x1006 - TCD Transfer Attributes"]
113 pub tcd0_attr: TCD0_ATTR,
114 #[doc = "0x1008 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
115 pub tcd0_nbytes_mlno: TCD0_NBYTES_MLNO,
116 #[doc = "0x100c - TCD Last Source Address Adjustment"]
117 pub tcd0_slast: TCD0_SLAST,
118 #[doc = "0x1010 - TCD Destination Address"]
119 pub tcd0_daddr: TCD0_DADDR,
120 #[doc = "0x1014 - TCD Signed Destination Address Offset"]
121 pub tcd0_doff: TCD0_DOFF,
122 #[doc = "0x1016 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
123 pub tcd0_citer_elinkno: TCD0_CITER_ELINKNO,
124 #[doc = "0x1018 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
125 pub tcd0_dlastsga: TCD0_DLASTSGA,
126 #[doc = "0x101c - TCD Control and Status"]
127 pub tcd0_csr: TCD0_CSR,
128 #[doc = "0x101e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
129 pub tcd0_biter_elinkno: TCD0_BITER_ELINKNO,
130 #[doc = "0x1020 - TCD Source Address"]
131 pub tcd1_saddr: TCD1_SADDR,
132 #[doc = "0x1024 - TCD Signed Source Address Offset"]
133 pub tcd1_soff: TCD1_SOFF,
134 #[doc = "0x1026 - TCD Transfer Attributes"]
135 pub tcd1_attr: TCD1_ATTR,
136 #[doc = "0x1028 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
137 pub tcd1_nbytes_mlno: TCD1_NBYTES_MLNO,
138 #[doc = "0x102c - TCD Last Source Address Adjustment"]
139 pub tcd1_slast: TCD1_SLAST,
140 #[doc = "0x1030 - TCD Destination Address"]
141 pub tcd1_daddr: TCD1_DADDR,
142 #[doc = "0x1034 - TCD Signed Destination Address Offset"]
143 pub tcd1_doff: TCD1_DOFF,
144 #[doc = "0x1036 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
145 pub tcd1_citer_elinkno: TCD1_CITER_ELINKNO,
146 #[doc = "0x1038 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
147 pub tcd1_dlastsga: TCD1_DLASTSGA,
148 #[doc = "0x103c - TCD Control and Status"]
149 pub tcd1_csr: TCD1_CSR,
150 #[doc = "0x103e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
151 pub tcd1_biter_elinkno: TCD1_BITER_ELINKNO,
152 #[doc = "0x1040 - TCD Source Address"]
153 pub tcd2_saddr: TCD2_SADDR,
154 #[doc = "0x1044 - TCD Signed Source Address Offset"]
155 pub tcd2_soff: TCD2_SOFF,
156 #[doc = "0x1046 - TCD Transfer Attributes"]
157 pub tcd2_attr: TCD2_ATTR,
158 #[doc = "0x1048 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
159 pub tcd2_nbytes_mlno: TCD2_NBYTES_MLNO,
160 #[doc = "0x104c - TCD Last Source Address Adjustment"]
161 pub tcd2_slast: TCD2_SLAST,
162 #[doc = "0x1050 - TCD Destination Address"]
163 pub tcd2_daddr: TCD2_DADDR,
164 #[doc = "0x1054 - TCD Signed Destination Address Offset"]
165 pub tcd2_doff: TCD2_DOFF,
166 #[doc = "0x1056 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
167 pub tcd2_citer_elinkno: TCD2_CITER_ELINKNO,
168 #[doc = "0x1058 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
169 pub tcd2_dlastsga: TCD2_DLASTSGA,
170 #[doc = "0x105c - TCD Control and Status"]
171 pub tcd2_csr: TCD2_CSR,
172 #[doc = "0x105e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
173 pub tcd2_biter_elinkno: TCD2_BITER_ELINKNO,
174 #[doc = "0x1060 - TCD Source Address"]
175 pub tcd3_saddr: TCD3_SADDR,
176 #[doc = "0x1064 - TCD Signed Source Address Offset"]
177 pub tcd3_soff: TCD3_SOFF,
178 #[doc = "0x1066 - TCD Transfer Attributes"]
179 pub tcd3_attr: TCD3_ATTR,
180 #[doc = "0x1068 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
181 pub tcd3_nbytes_mlno: TCD3_NBYTES_MLNO,
182 #[doc = "0x106c - TCD Last Source Address Adjustment"]
183 pub tcd3_slast: TCD3_SLAST,
184 #[doc = "0x1070 - TCD Destination Address"]
185 pub tcd3_daddr: TCD3_DADDR,
186 #[doc = "0x1074 - TCD Signed Destination Address Offset"]
187 pub tcd3_doff: TCD3_DOFF,
188 #[doc = "0x1076 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
189 pub tcd3_citer_elinkno: TCD3_CITER_ELINKNO,
190 #[doc = "0x1078 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
191 pub tcd3_dlastsga: TCD3_DLASTSGA,
192 #[doc = "0x107c - TCD Control and Status"]
193 pub tcd3_csr: TCD3_CSR,
194 #[doc = "0x107e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
195 pub tcd3_biter_elinkno: TCD3_BITER_ELINKNO,
196 #[doc = "0x1080 - TCD Source Address"]
197 pub tcd4_saddr: TCD4_SADDR,
198 #[doc = "0x1084 - TCD Signed Source Address Offset"]
199 pub tcd4_soff: TCD4_SOFF,
200 #[doc = "0x1086 - TCD Transfer Attributes"]
201 pub tcd4_attr: TCD4_ATTR,
202 #[doc = "0x1088 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
203 pub tcd4_nbytes_mlno: TCD4_NBYTES_MLNO,
204 #[doc = "0x108c - TCD Last Source Address Adjustment"]
205 pub tcd4_slast: TCD4_SLAST,
206 #[doc = "0x1090 - TCD Destination Address"]
207 pub tcd4_daddr: TCD4_DADDR,
208 #[doc = "0x1094 - TCD Signed Destination Address Offset"]
209 pub tcd4_doff: TCD4_DOFF,
210 #[doc = "0x1096 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
211 pub tcd4_citer_elinkno: TCD4_CITER_ELINKNO,
212 #[doc = "0x1098 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
213 pub tcd4_dlastsga: TCD4_DLASTSGA,
214 #[doc = "0x109c - TCD Control and Status"]
215 pub tcd4_csr: TCD4_CSR,
216 #[doc = "0x109e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
217 pub tcd4_biter_elinkno: TCD4_BITER_ELINKNO,
218 #[doc = "0x10a0 - TCD Source Address"]
219 pub tcd5_saddr: TCD5_SADDR,
220 #[doc = "0x10a4 - TCD Signed Source Address Offset"]
221 pub tcd5_soff: TCD5_SOFF,
222 #[doc = "0x10a6 - TCD Transfer Attributes"]
223 pub tcd5_attr: TCD5_ATTR,
224 #[doc = "0x10a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
225 pub tcd5_nbytes_mlno: TCD5_NBYTES_MLNO,
226 #[doc = "0x10ac - TCD Last Source Address Adjustment"]
227 pub tcd5_slast: TCD5_SLAST,
228 #[doc = "0x10b0 - TCD Destination Address"]
229 pub tcd5_daddr: TCD5_DADDR,
230 #[doc = "0x10b4 - TCD Signed Destination Address Offset"]
231 pub tcd5_doff: TCD5_DOFF,
232 #[doc = "0x10b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
233 pub tcd5_citer_elinkno: TCD5_CITER_ELINKNO,
234 #[doc = "0x10b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
235 pub tcd5_dlastsga: TCD5_DLASTSGA,
236 #[doc = "0x10bc - TCD Control and Status"]
237 pub tcd5_csr: TCD5_CSR,
238 #[doc = "0x10be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
239 pub tcd5_biter_elinkno: TCD5_BITER_ELINKNO,
240 #[doc = "0x10c0 - TCD Source Address"]
241 pub tcd6_saddr: TCD6_SADDR,
242 #[doc = "0x10c4 - TCD Signed Source Address Offset"]
243 pub tcd6_soff: TCD6_SOFF,
244 #[doc = "0x10c6 - TCD Transfer Attributes"]
245 pub tcd6_attr: TCD6_ATTR,
246 #[doc = "0x10c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
247 pub tcd6_nbytes_mlno: TCD6_NBYTES_MLNO,
248 #[doc = "0x10cc - TCD Last Source Address Adjustment"]
249 pub tcd6_slast: TCD6_SLAST,
250 #[doc = "0x10d0 - TCD Destination Address"]
251 pub tcd6_daddr: TCD6_DADDR,
252 #[doc = "0x10d4 - TCD Signed Destination Address Offset"]
253 pub tcd6_doff: TCD6_DOFF,
254 #[doc = "0x10d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
255 pub tcd6_citer_elinkno: TCD6_CITER_ELINKNO,
256 #[doc = "0x10d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
257 pub tcd6_dlastsga: TCD6_DLASTSGA,
258 #[doc = "0x10dc - TCD Control and Status"]
259 pub tcd6_csr: TCD6_CSR,
260 #[doc = "0x10de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
261 pub tcd6_biter_elinkno: TCD6_BITER_ELINKNO,
262 #[doc = "0x10e0 - TCD Source Address"]
263 pub tcd7_saddr: TCD7_SADDR,
264 #[doc = "0x10e4 - TCD Signed Source Address Offset"]
265 pub tcd7_soff: TCD7_SOFF,
266 #[doc = "0x10e6 - TCD Transfer Attributes"]
267 pub tcd7_attr: TCD7_ATTR,
268 #[doc = "0x10e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
269 pub tcd7_nbytes_mlno: TCD7_NBYTES_MLNO,
270 #[doc = "0x10ec - TCD Last Source Address Adjustment"]
271 pub tcd7_slast: TCD7_SLAST,
272 #[doc = "0x10f0 - TCD Destination Address"]
273 pub tcd7_daddr: TCD7_DADDR,
274 #[doc = "0x10f4 - TCD Signed Destination Address Offset"]
275 pub tcd7_doff: TCD7_DOFF,
276 #[doc = "0x10f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
277 pub tcd7_citer_elinkno: TCD7_CITER_ELINKNO,
278 #[doc = "0x10f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
279 pub tcd7_dlastsga: TCD7_DLASTSGA,
280 #[doc = "0x10fc - TCD Control and Status"]
281 pub tcd7_csr: TCD7_CSR,
282 #[doc = "0x10fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
283 pub tcd7_biter_elinkno: TCD7_BITER_ELINKNO,
284 #[doc = "0x1100 - TCD Source Address"]
285 pub tcd8_saddr: TCD8_SADDR,
286 #[doc = "0x1104 - TCD Signed Source Address Offset"]
287 pub tcd8_soff: TCD8_SOFF,
288 #[doc = "0x1106 - TCD Transfer Attributes"]
289 pub tcd8_attr: TCD8_ATTR,
290 #[doc = "0x1108 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
291 pub tcd8_nbytes_mlno: TCD8_NBYTES_MLNO,
292 #[doc = "0x110c - TCD Last Source Address Adjustment"]
293 pub tcd8_slast: TCD8_SLAST,
294 #[doc = "0x1110 - TCD Destination Address"]
295 pub tcd8_daddr: TCD8_DADDR,
296 #[doc = "0x1114 - TCD Signed Destination Address Offset"]
297 pub tcd8_doff: TCD8_DOFF,
298 #[doc = "0x1116 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
299 pub tcd8_citer_elinkno: TCD8_CITER_ELINKNO,
300 #[doc = "0x1118 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
301 pub tcd8_dlastsga: TCD8_DLASTSGA,
302 #[doc = "0x111c - TCD Control and Status"]
303 pub tcd8_csr: TCD8_CSR,
304 #[doc = "0x111e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
305 pub tcd8_biter_elinkno: TCD8_BITER_ELINKNO,
306 #[doc = "0x1120 - TCD Source Address"]
307 pub tcd9_saddr: TCD9_SADDR,
308 #[doc = "0x1124 - TCD Signed Source Address Offset"]
309 pub tcd9_soff: TCD9_SOFF,
310 #[doc = "0x1126 - TCD Transfer Attributes"]
311 pub tcd9_attr: TCD9_ATTR,
312 #[doc = "0x1128 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
313 pub tcd9_nbytes_mlno: TCD9_NBYTES_MLNO,
314 #[doc = "0x112c - TCD Last Source Address Adjustment"]
315 pub tcd9_slast: TCD9_SLAST,
316 #[doc = "0x1130 - TCD Destination Address"]
317 pub tcd9_daddr: TCD9_DADDR,
318 #[doc = "0x1134 - TCD Signed Destination Address Offset"]
319 pub tcd9_doff: TCD9_DOFF,
320 #[doc = "0x1136 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
321 pub tcd9_citer_elinkno: TCD9_CITER_ELINKNO,
322 #[doc = "0x1138 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
323 pub tcd9_dlastsga: TCD9_DLASTSGA,
324 #[doc = "0x113c - TCD Control and Status"]
325 pub tcd9_csr: TCD9_CSR,
326 #[doc = "0x113e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
327 pub tcd9_biter_elinkno: TCD9_BITER_ELINKNO,
328 #[doc = "0x1140 - TCD Source Address"]
329 pub tcd10_saddr: TCD10_SADDR,
330 #[doc = "0x1144 - TCD Signed Source Address Offset"]
331 pub tcd10_soff: TCD10_SOFF,
332 #[doc = "0x1146 - TCD Transfer Attributes"]
333 pub tcd10_attr: TCD10_ATTR,
334 #[doc = "0x1148 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
335 pub tcd10_nbytes_mlno: TCD10_NBYTES_MLNO,
336 #[doc = "0x114c - TCD Last Source Address Adjustment"]
337 pub tcd10_slast: TCD10_SLAST,
338 #[doc = "0x1150 - TCD Destination Address"]
339 pub tcd10_daddr: TCD10_DADDR,
340 #[doc = "0x1154 - TCD Signed Destination Address Offset"]
341 pub tcd10_doff: TCD10_DOFF,
342 #[doc = "0x1156 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
343 pub tcd10_citer_elinkno: TCD10_CITER_ELINKNO,
344 #[doc = "0x1158 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
345 pub tcd10_dlastsga: TCD10_DLASTSGA,
346 #[doc = "0x115c - TCD Control and Status"]
347 pub tcd10_csr: TCD10_CSR,
348 #[doc = "0x115e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
349 pub tcd10_biter_elinkno: TCD10_BITER_ELINKNO,
350 #[doc = "0x1160 - TCD Source Address"]
351 pub tcd11_saddr: TCD11_SADDR,
352 #[doc = "0x1164 - TCD Signed Source Address Offset"]
353 pub tcd11_soff: TCD11_SOFF,
354 #[doc = "0x1166 - TCD Transfer Attributes"]
355 pub tcd11_attr: TCD11_ATTR,
356 #[doc = "0x1168 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
357 pub tcd11_nbytes_mlno: TCD11_NBYTES_MLNO,
358 #[doc = "0x116c - TCD Last Source Address Adjustment"]
359 pub tcd11_slast: TCD11_SLAST,
360 #[doc = "0x1170 - TCD Destination Address"]
361 pub tcd11_daddr: TCD11_DADDR,
362 #[doc = "0x1174 - TCD Signed Destination Address Offset"]
363 pub tcd11_doff: TCD11_DOFF,
364 #[doc = "0x1176 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
365 pub tcd11_citer_elinkno: TCD11_CITER_ELINKNO,
366 #[doc = "0x1178 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
367 pub tcd11_dlastsga: TCD11_DLASTSGA,
368 #[doc = "0x117c - TCD Control and Status"]
369 pub tcd11_csr: TCD11_CSR,
370 #[doc = "0x117e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
371 pub tcd11_biter_elinkno: TCD11_BITER_ELINKNO,
372 #[doc = "0x1180 - TCD Source Address"]
373 pub tcd12_saddr: TCD12_SADDR,
374 #[doc = "0x1184 - TCD Signed Source Address Offset"]
375 pub tcd12_soff: TCD12_SOFF,
376 #[doc = "0x1186 - TCD Transfer Attributes"]
377 pub tcd12_attr: TCD12_ATTR,
378 #[doc = "0x1188 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
379 pub tcd12_nbytes_mlno: TCD12_NBYTES_MLNO,
380 #[doc = "0x118c - TCD Last Source Address Adjustment"]
381 pub tcd12_slast: TCD12_SLAST,
382 #[doc = "0x1190 - TCD Destination Address"]
383 pub tcd12_daddr: TCD12_DADDR,
384 #[doc = "0x1194 - TCD Signed Destination Address Offset"]
385 pub tcd12_doff: TCD12_DOFF,
386 #[doc = "0x1196 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
387 pub tcd12_citer_elinkno: TCD12_CITER_ELINKNO,
388 #[doc = "0x1198 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
389 pub tcd12_dlastsga: TCD12_DLASTSGA,
390 #[doc = "0x119c - TCD Control and Status"]
391 pub tcd12_csr: TCD12_CSR,
392 #[doc = "0x119e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
393 pub tcd12_biter_elinkno: TCD12_BITER_ELINKNO,
394 #[doc = "0x11a0 - TCD Source Address"]
395 pub tcd13_saddr: TCD13_SADDR,
396 #[doc = "0x11a4 - TCD Signed Source Address Offset"]
397 pub tcd13_soff: TCD13_SOFF,
398 #[doc = "0x11a6 - TCD Transfer Attributes"]
399 pub tcd13_attr: TCD13_ATTR,
400 #[doc = "0x11a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
401 pub tcd13_nbytes_mlno: TCD13_NBYTES_MLNO,
402 #[doc = "0x11ac - TCD Last Source Address Adjustment"]
403 pub tcd13_slast: TCD13_SLAST,
404 #[doc = "0x11b0 - TCD Destination Address"]
405 pub tcd13_daddr: TCD13_DADDR,
406 #[doc = "0x11b4 - TCD Signed Destination Address Offset"]
407 pub tcd13_doff: TCD13_DOFF,
408 #[doc = "0x11b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
409 pub tcd13_citer_elinkno: TCD13_CITER_ELINKNO,
410 #[doc = "0x11b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
411 pub tcd13_dlastsga: TCD13_DLASTSGA,
412 #[doc = "0x11bc - TCD Control and Status"]
413 pub tcd13_csr: TCD13_CSR,
414 #[doc = "0x11be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
415 pub tcd13_biter_elinkno: TCD13_BITER_ELINKNO,
416 #[doc = "0x11c0 - TCD Source Address"]
417 pub tcd14_saddr: TCD14_SADDR,
418 #[doc = "0x11c4 - TCD Signed Source Address Offset"]
419 pub tcd14_soff: TCD14_SOFF,
420 #[doc = "0x11c6 - TCD Transfer Attributes"]
421 pub tcd14_attr: TCD14_ATTR,
422 #[doc = "0x11c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
423 pub tcd14_nbytes_mlno: TCD14_NBYTES_MLNO,
424 #[doc = "0x11cc - TCD Last Source Address Adjustment"]
425 pub tcd14_slast: TCD14_SLAST,
426 #[doc = "0x11d0 - TCD Destination Address"]
427 pub tcd14_daddr: TCD14_DADDR,
428 #[doc = "0x11d4 - TCD Signed Destination Address Offset"]
429 pub tcd14_doff: TCD14_DOFF,
430 #[doc = "0x11d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
431 pub tcd14_citer_elinkno: TCD14_CITER_ELINKNO,
432 #[doc = "0x11d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
433 pub tcd14_dlastsga: TCD14_DLASTSGA,
434 #[doc = "0x11dc - TCD Control and Status"]
435 pub tcd14_csr: TCD14_CSR,
436 #[doc = "0x11de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
437 pub tcd14_biter_elinkno: TCD14_BITER_ELINKNO,
438 #[doc = "0x11e0 - TCD Source Address"]
439 pub tcd15_saddr: TCD15_SADDR,
440 #[doc = "0x11e4 - TCD Signed Source Address Offset"]
441 pub tcd15_soff: TCD15_SOFF,
442 #[doc = "0x11e6 - TCD Transfer Attributes"]
443 pub tcd15_attr: TCD15_ATTR,
444 #[doc = "0x11e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
445 pub tcd15_nbytes_mlno: TCD15_NBYTES_MLNO,
446 #[doc = "0x11ec - TCD Last Source Address Adjustment"]
447 pub tcd15_slast: TCD15_SLAST,
448 #[doc = "0x11f0 - TCD Destination Address"]
449 pub tcd15_daddr: TCD15_DADDR,
450 #[doc = "0x11f4 - TCD Signed Destination Address Offset"]
451 pub tcd15_doff: TCD15_DOFF,
452 #[doc = "0x11f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
453 pub tcd15_citer_elinkno: TCD15_CITER_ELINKNO,
454 #[doc = "0x11f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
455 pub tcd15_dlastsga: TCD15_DLASTSGA,
456 #[doc = "0x11fc - TCD Control and Status"]
457 pub tcd15_csr: TCD15_CSR,
458 #[doc = "0x11fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
459 pub tcd15_biter_elinkno: TCD15_BITER_ELINKNO,
460 #[doc = "0x1200 - TCD Source Address"]
461 pub tcd16_saddr: TCD16_SADDR,
462 #[doc = "0x1204 - TCD Signed Source Address Offset"]
463 pub tcd16_soff: TCD16_SOFF,
464 #[doc = "0x1206 - TCD Transfer Attributes"]
465 pub tcd16_attr: TCD16_ATTR,
466 #[doc = "0x1208 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
467 pub tcd16_nbytes_mlno: TCD16_NBYTES_MLNO,
468 #[doc = "0x120c - TCD Last Source Address Adjustment"]
469 pub tcd16_slast: TCD16_SLAST,
470 #[doc = "0x1210 - TCD Destination Address"]
471 pub tcd16_daddr: TCD16_DADDR,
472 #[doc = "0x1214 - TCD Signed Destination Address Offset"]
473 pub tcd16_doff: TCD16_DOFF,
474 #[doc = "0x1216 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
475 pub tcd16_citer_elinkno: TCD16_CITER_ELINKNO,
476 #[doc = "0x1218 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
477 pub tcd16_dlastsga: TCD16_DLASTSGA,
478 #[doc = "0x121c - TCD Control and Status"]
479 pub tcd16_csr: TCD16_CSR,
480 #[doc = "0x121e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
481 pub tcd16_biter_elinkno: TCD16_BITER_ELINKNO,
482 #[doc = "0x1220 - TCD Source Address"]
483 pub tcd17_saddr: TCD17_SADDR,
484 #[doc = "0x1224 - TCD Signed Source Address Offset"]
485 pub tcd17_soff: TCD17_SOFF,
486 #[doc = "0x1226 - TCD Transfer Attributes"]
487 pub tcd17_attr: TCD17_ATTR,
488 #[doc = "0x1228 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
489 pub tcd17_nbytes_mlno: TCD17_NBYTES_MLNO,
490 #[doc = "0x122c - TCD Last Source Address Adjustment"]
491 pub tcd17_slast: TCD17_SLAST,
492 #[doc = "0x1230 - TCD Destination Address"]
493 pub tcd17_daddr: TCD17_DADDR,
494 #[doc = "0x1234 - TCD Signed Destination Address Offset"]
495 pub tcd17_doff: TCD17_DOFF,
496 #[doc = "0x1236 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
497 pub tcd17_citer_elinkno: TCD17_CITER_ELINKNO,
498 #[doc = "0x1238 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
499 pub tcd17_dlastsga: TCD17_DLASTSGA,
500 #[doc = "0x123c - TCD Control and Status"]
501 pub tcd17_csr: TCD17_CSR,
502 #[doc = "0x123e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
503 pub tcd17_biter_elinkno: TCD17_BITER_ELINKNO,
504 #[doc = "0x1240 - TCD Source Address"]
505 pub tcd18_saddr: TCD18_SADDR,
506 #[doc = "0x1244 - TCD Signed Source Address Offset"]
507 pub tcd18_soff: TCD18_SOFF,
508 #[doc = "0x1246 - TCD Transfer Attributes"]
509 pub tcd18_attr: TCD18_ATTR,
510 #[doc = "0x1248 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
511 pub tcd18_nbytes_mlno: TCD18_NBYTES_MLNO,
512 #[doc = "0x124c - TCD Last Source Address Adjustment"]
513 pub tcd18_slast: TCD18_SLAST,
514 #[doc = "0x1250 - TCD Destination Address"]
515 pub tcd18_daddr: TCD18_DADDR,
516 #[doc = "0x1254 - TCD Signed Destination Address Offset"]
517 pub tcd18_doff: TCD18_DOFF,
518 #[doc = "0x1256 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
519 pub tcd18_citer_elinkno: TCD18_CITER_ELINKNO,
520 #[doc = "0x1258 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
521 pub tcd18_dlastsga: TCD18_DLASTSGA,
522 #[doc = "0x125c - TCD Control and Status"]
523 pub tcd18_csr: TCD18_CSR,
524 #[doc = "0x125e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
525 pub tcd18_biter_elinkno: TCD18_BITER_ELINKNO,
526 #[doc = "0x1260 - TCD Source Address"]
527 pub tcd19_saddr: TCD19_SADDR,
528 #[doc = "0x1264 - TCD Signed Source Address Offset"]
529 pub tcd19_soff: TCD19_SOFF,
530 #[doc = "0x1266 - TCD Transfer Attributes"]
531 pub tcd19_attr: TCD19_ATTR,
532 #[doc = "0x1268 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
533 pub tcd19_nbytes_mlno: TCD19_NBYTES_MLNO,
534 #[doc = "0x126c - TCD Last Source Address Adjustment"]
535 pub tcd19_slast: TCD19_SLAST,
536 #[doc = "0x1270 - TCD Destination Address"]
537 pub tcd19_daddr: TCD19_DADDR,
538 #[doc = "0x1274 - TCD Signed Destination Address Offset"]
539 pub tcd19_doff: TCD19_DOFF,
540 #[doc = "0x1276 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
541 pub tcd19_citer_elinkno: TCD19_CITER_ELINKNO,
542 #[doc = "0x1278 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
543 pub tcd19_dlastsga: TCD19_DLASTSGA,
544 #[doc = "0x127c - TCD Control and Status"]
545 pub tcd19_csr: TCD19_CSR,
546 #[doc = "0x127e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
547 pub tcd19_biter_elinkno: TCD19_BITER_ELINKNO,
548 #[doc = "0x1280 - TCD Source Address"]
549 pub tcd20_saddr: TCD20_SADDR,
550 #[doc = "0x1284 - TCD Signed Source Address Offset"]
551 pub tcd20_soff: TCD20_SOFF,
552 #[doc = "0x1286 - TCD Transfer Attributes"]
553 pub tcd20_attr: TCD20_ATTR,
554 #[doc = "0x1288 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
555 pub tcd20_nbytes_mlno: TCD20_NBYTES_MLNO,
556 #[doc = "0x128c - TCD Last Source Address Adjustment"]
557 pub tcd20_slast: TCD20_SLAST,
558 #[doc = "0x1290 - TCD Destination Address"]
559 pub tcd20_daddr: TCD20_DADDR,
560 #[doc = "0x1294 - TCD Signed Destination Address Offset"]
561 pub tcd20_doff: TCD20_DOFF,
562 #[doc = "0x1296 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
563 pub tcd20_citer_elinkno: TCD20_CITER_ELINKNO,
564 #[doc = "0x1298 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
565 pub tcd20_dlastsga: TCD20_DLASTSGA,
566 #[doc = "0x129c - TCD Control and Status"]
567 pub tcd20_csr: TCD20_CSR,
568 #[doc = "0x129e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
569 pub tcd20_biter_elinkno: TCD20_BITER_ELINKNO,
570 #[doc = "0x12a0 - TCD Source Address"]
571 pub tcd21_saddr: TCD21_SADDR,
572 #[doc = "0x12a4 - TCD Signed Source Address Offset"]
573 pub tcd21_soff: TCD21_SOFF,
574 #[doc = "0x12a6 - TCD Transfer Attributes"]
575 pub tcd21_attr: TCD21_ATTR,
576 #[doc = "0x12a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
577 pub tcd21_nbytes_mlno: TCD21_NBYTES_MLNO,
578 #[doc = "0x12ac - TCD Last Source Address Adjustment"]
579 pub tcd21_slast: TCD21_SLAST,
580 #[doc = "0x12b0 - TCD Destination Address"]
581 pub tcd21_daddr: TCD21_DADDR,
582 #[doc = "0x12b4 - TCD Signed Destination Address Offset"]
583 pub tcd21_doff: TCD21_DOFF,
584 #[doc = "0x12b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
585 pub tcd21_citer_elinkno: TCD21_CITER_ELINKNO,
586 #[doc = "0x12b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
587 pub tcd21_dlastsga: TCD21_DLASTSGA,
588 #[doc = "0x12bc - TCD Control and Status"]
589 pub tcd21_csr: TCD21_CSR,
590 #[doc = "0x12be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
591 pub tcd21_biter_elinkno: TCD21_BITER_ELINKNO,
592 #[doc = "0x12c0 - TCD Source Address"]
593 pub tcd22_saddr: TCD22_SADDR,
594 #[doc = "0x12c4 - TCD Signed Source Address Offset"]
595 pub tcd22_soff: TCD22_SOFF,
596 #[doc = "0x12c6 - TCD Transfer Attributes"]
597 pub tcd22_attr: TCD22_ATTR,
598 #[doc = "0x12c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
599 pub tcd22_nbytes_mlno: TCD22_NBYTES_MLNO,
600 #[doc = "0x12cc - TCD Last Source Address Adjustment"]
601 pub tcd22_slast: TCD22_SLAST,
602 #[doc = "0x12d0 - TCD Destination Address"]
603 pub tcd22_daddr: TCD22_DADDR,
604 #[doc = "0x12d4 - TCD Signed Destination Address Offset"]
605 pub tcd22_doff: TCD22_DOFF,
606 #[doc = "0x12d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
607 pub tcd22_citer_elinkno: TCD22_CITER_ELINKNO,
608 #[doc = "0x12d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
609 pub tcd22_dlastsga: TCD22_DLASTSGA,
610 #[doc = "0x12dc - TCD Control and Status"]
611 pub tcd22_csr: TCD22_CSR,
612 #[doc = "0x12de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
613 pub tcd22_biter_elinkno: TCD22_BITER_ELINKNO,
614 #[doc = "0x12e0 - TCD Source Address"]
615 pub tcd23_saddr: TCD23_SADDR,
616 #[doc = "0x12e4 - TCD Signed Source Address Offset"]
617 pub tcd23_soff: TCD23_SOFF,
618 #[doc = "0x12e6 - TCD Transfer Attributes"]
619 pub tcd23_attr: TCD23_ATTR,
620 #[doc = "0x12e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
621 pub tcd23_nbytes_mlno: TCD23_NBYTES_MLNO,
622 #[doc = "0x12ec - TCD Last Source Address Adjustment"]
623 pub tcd23_slast: TCD23_SLAST,
624 #[doc = "0x12f0 - TCD Destination Address"]
625 pub tcd23_daddr: TCD23_DADDR,
626 #[doc = "0x12f4 - TCD Signed Destination Address Offset"]
627 pub tcd23_doff: TCD23_DOFF,
628 #[doc = "0x12f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
629 pub tcd23_citer_elinkno: TCD23_CITER_ELINKNO,
630 #[doc = "0x12f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
631 pub tcd23_dlastsga: TCD23_DLASTSGA,
632 #[doc = "0x12fc - TCD Control and Status"]
633 pub tcd23_csr: TCD23_CSR,
634 #[doc = "0x12fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
635 pub tcd23_biter_elinkno: TCD23_BITER_ELINKNO,
636 #[doc = "0x1300 - TCD Source Address"]
637 pub tcd24_saddr: TCD24_SADDR,
638 #[doc = "0x1304 - TCD Signed Source Address Offset"]
639 pub tcd24_soff: TCD24_SOFF,
640 #[doc = "0x1306 - TCD Transfer Attributes"]
641 pub tcd24_attr: TCD24_ATTR,
642 #[doc = "0x1308 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
643 pub tcd24_nbytes_mlno: TCD24_NBYTES_MLNO,
644 #[doc = "0x130c - TCD Last Source Address Adjustment"]
645 pub tcd24_slast: TCD24_SLAST,
646 #[doc = "0x1310 - TCD Destination Address"]
647 pub tcd24_daddr: TCD24_DADDR,
648 #[doc = "0x1314 - TCD Signed Destination Address Offset"]
649 pub tcd24_doff: TCD24_DOFF,
650 #[doc = "0x1316 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
651 pub tcd24_citer_elinkno: TCD24_CITER_ELINKNO,
652 #[doc = "0x1318 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
653 pub tcd24_dlastsga: TCD24_DLASTSGA,
654 #[doc = "0x131c - TCD Control and Status"]
655 pub tcd24_csr: TCD24_CSR,
656 #[doc = "0x131e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
657 pub tcd24_biter_elinkno: TCD24_BITER_ELINKNO,
658 #[doc = "0x1320 - TCD Source Address"]
659 pub tcd25_saddr: TCD25_SADDR,
660 #[doc = "0x1324 - TCD Signed Source Address Offset"]
661 pub tcd25_soff: TCD25_SOFF,
662 #[doc = "0x1326 - TCD Transfer Attributes"]
663 pub tcd25_attr: TCD25_ATTR,
664 #[doc = "0x1328 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
665 pub tcd25_nbytes_mlno: TCD25_NBYTES_MLNO,
666 #[doc = "0x132c - TCD Last Source Address Adjustment"]
667 pub tcd25_slast: TCD25_SLAST,
668 #[doc = "0x1330 - TCD Destination Address"]
669 pub tcd25_daddr: TCD25_DADDR,
670 #[doc = "0x1334 - TCD Signed Destination Address Offset"]
671 pub tcd25_doff: TCD25_DOFF,
672 #[doc = "0x1336 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
673 pub tcd25_citer_elinkno: TCD25_CITER_ELINKNO,
674 #[doc = "0x1338 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
675 pub tcd25_dlastsga: TCD25_DLASTSGA,
676 #[doc = "0x133c - TCD Control and Status"]
677 pub tcd25_csr: TCD25_CSR,
678 #[doc = "0x133e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
679 pub tcd25_biter_elinkno: TCD25_BITER_ELINKNO,
680 #[doc = "0x1340 - TCD Source Address"]
681 pub tcd26_saddr: TCD26_SADDR,
682 #[doc = "0x1344 - TCD Signed Source Address Offset"]
683 pub tcd26_soff: TCD26_SOFF,
684 #[doc = "0x1346 - TCD Transfer Attributes"]
685 pub tcd26_attr: TCD26_ATTR,
686 #[doc = "0x1348 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
687 pub tcd26_nbytes_mlno: TCD26_NBYTES_MLNO,
688 #[doc = "0x134c - TCD Last Source Address Adjustment"]
689 pub tcd26_slast: TCD26_SLAST,
690 #[doc = "0x1350 - TCD Destination Address"]
691 pub tcd26_daddr: TCD26_DADDR,
692 #[doc = "0x1354 - TCD Signed Destination Address Offset"]
693 pub tcd26_doff: TCD26_DOFF,
694 #[doc = "0x1356 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
695 pub tcd26_citer_elinkno: TCD26_CITER_ELINKNO,
696 #[doc = "0x1358 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
697 pub tcd26_dlastsga: TCD26_DLASTSGA,
698 #[doc = "0x135c - TCD Control and Status"]
699 pub tcd26_csr: TCD26_CSR,
700 #[doc = "0x135e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
701 pub tcd26_biter_elinkno: TCD26_BITER_ELINKNO,
702 #[doc = "0x1360 - TCD Source Address"]
703 pub tcd27_saddr: TCD27_SADDR,
704 #[doc = "0x1364 - TCD Signed Source Address Offset"]
705 pub tcd27_soff: TCD27_SOFF,
706 #[doc = "0x1366 - TCD Transfer Attributes"]
707 pub tcd27_attr: TCD27_ATTR,
708 #[doc = "0x1368 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
709 pub tcd27_nbytes_mlno: TCD27_NBYTES_MLNO,
710 #[doc = "0x136c - TCD Last Source Address Adjustment"]
711 pub tcd27_slast: TCD27_SLAST,
712 #[doc = "0x1370 - TCD Destination Address"]
713 pub tcd27_daddr: TCD27_DADDR,
714 #[doc = "0x1374 - TCD Signed Destination Address Offset"]
715 pub tcd27_doff: TCD27_DOFF,
716 #[doc = "0x1376 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
717 pub tcd27_citer_elinkno: TCD27_CITER_ELINKNO,
718 #[doc = "0x1378 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
719 pub tcd27_dlastsga: TCD27_DLASTSGA,
720 #[doc = "0x137c - TCD Control and Status"]
721 pub tcd27_csr: TCD27_CSR,
722 #[doc = "0x137e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
723 pub tcd27_biter_elinkno: TCD27_BITER_ELINKNO,
724 #[doc = "0x1380 - TCD Source Address"]
725 pub tcd28_saddr: TCD28_SADDR,
726 #[doc = "0x1384 - TCD Signed Source Address Offset"]
727 pub tcd28_soff: TCD28_SOFF,
728 #[doc = "0x1386 - TCD Transfer Attributes"]
729 pub tcd28_attr: TCD28_ATTR,
730 #[doc = "0x1388 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
731 pub tcd28_nbytes_mlno: TCD28_NBYTES_MLNO,
732 #[doc = "0x138c - TCD Last Source Address Adjustment"]
733 pub tcd28_slast: TCD28_SLAST,
734 #[doc = "0x1390 - TCD Destination Address"]
735 pub tcd28_daddr: TCD28_DADDR,
736 #[doc = "0x1394 - TCD Signed Destination Address Offset"]
737 pub tcd28_doff: TCD28_DOFF,
738 #[doc = "0x1396 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
739 pub tcd28_citer_elinkno: TCD28_CITER_ELINKNO,
740 #[doc = "0x1398 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
741 pub tcd28_dlastsga: TCD28_DLASTSGA,
742 #[doc = "0x139c - TCD Control and Status"]
743 pub tcd28_csr: TCD28_CSR,
744 #[doc = "0x139e - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
745 pub tcd28_biter_elinkno: TCD28_BITER_ELINKNO,
746 #[doc = "0x13a0 - TCD Source Address"]
747 pub tcd29_saddr: TCD29_SADDR,
748 #[doc = "0x13a4 - TCD Signed Source Address Offset"]
749 pub tcd29_soff: TCD29_SOFF,
750 #[doc = "0x13a6 - TCD Transfer Attributes"]
751 pub tcd29_attr: TCD29_ATTR,
752 #[doc = "0x13a8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
753 pub tcd29_nbytes_mlno: TCD29_NBYTES_MLNO,
754 #[doc = "0x13ac - TCD Last Source Address Adjustment"]
755 pub tcd29_slast: TCD29_SLAST,
756 #[doc = "0x13b0 - TCD Destination Address"]
757 pub tcd29_daddr: TCD29_DADDR,
758 #[doc = "0x13b4 - TCD Signed Destination Address Offset"]
759 pub tcd29_doff: TCD29_DOFF,
760 #[doc = "0x13b6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
761 pub tcd29_citer_elinkno: TCD29_CITER_ELINKNO,
762 #[doc = "0x13b8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
763 pub tcd29_dlastsga: TCD29_DLASTSGA,
764 #[doc = "0x13bc - TCD Control and Status"]
765 pub tcd29_csr: TCD29_CSR,
766 #[doc = "0x13be - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
767 pub tcd29_biter_elinkno: TCD29_BITER_ELINKNO,
768 #[doc = "0x13c0 - TCD Source Address"]
769 pub tcd30_saddr: TCD30_SADDR,
770 #[doc = "0x13c4 - TCD Signed Source Address Offset"]
771 pub tcd30_soff: TCD30_SOFF,
772 #[doc = "0x13c6 - TCD Transfer Attributes"]
773 pub tcd30_attr: TCD30_ATTR,
774 #[doc = "0x13c8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
775 pub tcd30_nbytes_mlno: TCD30_NBYTES_MLNO,
776 #[doc = "0x13cc - TCD Last Source Address Adjustment"]
777 pub tcd30_slast: TCD30_SLAST,
778 #[doc = "0x13d0 - TCD Destination Address"]
779 pub tcd30_daddr: TCD30_DADDR,
780 #[doc = "0x13d4 - TCD Signed Destination Address Offset"]
781 pub tcd30_doff: TCD30_DOFF,
782 #[doc = "0x13d6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
783 pub tcd30_citer_elinkno: TCD30_CITER_ELINKNO,
784 #[doc = "0x13d8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
785 pub tcd30_dlastsga: TCD30_DLASTSGA,
786 #[doc = "0x13dc - TCD Control and Status"]
787 pub tcd30_csr: TCD30_CSR,
788 #[doc = "0x13de - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
789 pub tcd30_biter_elinkno: TCD30_BITER_ELINKNO,
790 #[doc = "0x13e0 - TCD Source Address"]
791 pub tcd31_saddr: TCD31_SADDR,
792 #[doc = "0x13e4 - TCD Signed Source Address Offset"]
793 pub tcd31_soff: TCD31_SOFF,
794 #[doc = "0x13e6 - TCD Transfer Attributes"]
795 pub tcd31_attr: TCD31_ATTR,
796 #[doc = "0x13e8 - TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
797 pub tcd31_nbytes_mlno: TCD31_NBYTES_MLNO,
798 #[doc = "0x13ec - TCD Last Source Address Adjustment"]
799 pub tcd31_slast: TCD31_SLAST,
800 #[doc = "0x13f0 - TCD Destination Address"]
801 pub tcd31_daddr: TCD31_DADDR,
802 #[doc = "0x13f4 - TCD Signed Destination Address Offset"]
803 pub tcd31_doff: TCD31_DOFF,
804 #[doc = "0x13f6 - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
805 pub tcd31_citer_elinkno: TCD31_CITER_ELINKNO,
806 #[doc = "0x13f8 - TCD Last Destination Address Adjustment/Scatter Gather Address"]
807 pub tcd31_dlastsga: TCD31_DLASTSGA,
808 #[doc = "0x13fc - TCD Control and Status"]
809 pub tcd31_csr: TCD31_CSR,
810 #[doc = "0x13fe - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
811 pub tcd31_biter_elinkno: TCD31_BITER_ELINKNO,
812}
813#[doc = "Control Register"]
814pub struct CR {
815 register: VolatileCell<u32>,
816}
817#[doc = "Control Register"]
818pub mod cr;
819#[doc = "Error Status Register"]
820pub struct ES {
821 register: VolatileCell<u32>,
822}
823#[doc = "Error Status Register"]
824pub mod es;
825#[doc = "Enable Request Register"]
826pub struct ERQ {
827 register: VolatileCell<u32>,
828}
829#[doc = "Enable Request Register"]
830pub mod erq;
831#[doc = "Enable Error Interrupt Register"]
832pub struct EEI {
833 register: VolatileCell<u32>,
834}
835#[doc = "Enable Error Interrupt Register"]
836pub mod eei;
837#[doc = "Clear Enable Error Interrupt Register"]
838pub struct CEEI {
839 register: VolatileCell<u8>,
840}
841#[doc = "Clear Enable Error Interrupt Register"]
842pub mod ceei;
843#[doc = "Set Enable Error Interrupt Register"]
844pub struct SEEI {
845 register: VolatileCell<u8>,
846}
847#[doc = "Set Enable Error Interrupt Register"]
848pub mod seei;
849#[doc = "Clear Enable Request Register"]
850pub struct CERQ {
851 register: VolatileCell<u8>,
852}
853#[doc = "Clear Enable Request Register"]
854pub mod cerq;
855#[doc = "Set Enable Request Register"]
856pub struct SERQ {
857 register: VolatileCell<u8>,
858}
859#[doc = "Set Enable Request Register"]
860pub mod serq;
861#[doc = "Clear DONE Status Bit Register"]
862pub struct CDNE {
863 register: VolatileCell<u8>,
864}
865#[doc = "Clear DONE Status Bit Register"]
866pub mod cdne;
867#[doc = "Set START Bit Register"]
868pub struct SSRT {
869 register: VolatileCell<u8>,
870}
871#[doc = "Set START Bit Register"]
872pub mod ssrt;
873#[doc = "Clear Error Register"]
874pub struct CERR {
875 register: VolatileCell<u8>,
876}
877#[doc = "Clear Error Register"]
878pub mod cerr;
879#[doc = "Clear Interrupt Request Register"]
880pub struct CINT {
881 register: VolatileCell<u8>,
882}
883#[doc = "Clear Interrupt Request Register"]
884pub mod cint;
885#[doc = "Interrupt Request Register"]
886pub struct INT {
887 register: VolatileCell<u32>,
888}
889#[doc = "Interrupt Request Register"]
890pub mod int;
891#[doc = "Error Register"]
892pub struct ERR {
893 register: VolatileCell<u32>,
894}
895#[doc = "Error Register"]
896pub mod err;
897#[doc = "Hardware Request Status Register"]
898pub struct HRS {
899 register: VolatileCell<u32>,
900}
901#[doc = "Hardware Request Status Register"]
902pub mod hrs;
903#[doc = "Enable Asynchronous Request in Stop Register"]
904pub struct EARS {
905 register: VolatileCell<u32>,
906}
907#[doc = "Enable Asynchronous Request in Stop Register"]
908pub mod ears;
909#[doc = "Channel n Priority Register"]
910pub struct DCHPRI3 {
911 register: VolatileCell<u8>,
912}
913#[doc = "Channel n Priority Register"]
914pub mod dchpri3;
915#[doc = "Channel n Priority Register"]
916pub struct DCHPRI2 {
917 register: VolatileCell<u8>,
918}
919#[doc = "Channel n Priority Register"]
920pub mod dchpri2;
921#[doc = "Channel n Priority Register"]
922pub struct DCHPRI1 {
923 register: VolatileCell<u8>,
924}
925#[doc = "Channel n Priority Register"]
926pub mod dchpri1;
927#[doc = "Channel n Priority Register"]
928pub struct DCHPRI0 {
929 register: VolatileCell<u8>,
930}
931#[doc = "Channel n Priority Register"]
932pub mod dchpri0;
933#[doc = "Channel n Priority Register"]
934pub struct DCHPRI7 {
935 register: VolatileCell<u8>,
936}
937#[doc = "Channel n Priority Register"]
938pub mod dchpri7;
939#[doc = "Channel n Priority Register"]
940pub struct DCHPRI6 {
941 register: VolatileCell<u8>,
942}
943#[doc = "Channel n Priority Register"]
944pub mod dchpri6;
945#[doc = "Channel n Priority Register"]
946pub struct DCHPRI5 {
947 register: VolatileCell<u8>,
948}
949#[doc = "Channel n Priority Register"]
950pub mod dchpri5;
951#[doc = "Channel n Priority Register"]
952pub struct DCHPRI4 {
953 register: VolatileCell<u8>,
954}
955#[doc = "Channel n Priority Register"]
956pub mod dchpri4;
957#[doc = "Channel n Priority Register"]
958pub struct DCHPRI11 {
959 register: VolatileCell<u8>,
960}
961#[doc = "Channel n Priority Register"]
962pub mod dchpri11;
963#[doc = "Channel n Priority Register"]
964pub struct DCHPRI10 {
965 register: VolatileCell<u8>,
966}
967#[doc = "Channel n Priority Register"]
968pub mod dchpri10;
969#[doc = "Channel n Priority Register"]
970pub struct DCHPRI9 {
971 register: VolatileCell<u8>,
972}
973#[doc = "Channel n Priority Register"]
974pub mod dchpri9;
975#[doc = "Channel n Priority Register"]
976pub struct DCHPRI8 {
977 register: VolatileCell<u8>,
978}
979#[doc = "Channel n Priority Register"]
980pub mod dchpri8;
981#[doc = "Channel n Priority Register"]
982pub struct DCHPRI15 {
983 register: VolatileCell<u8>,
984}
985#[doc = "Channel n Priority Register"]
986pub mod dchpri15;
987#[doc = "Channel n Priority Register"]
988pub struct DCHPRI14 {
989 register: VolatileCell<u8>,
990}
991#[doc = "Channel n Priority Register"]
992pub mod dchpri14;
993#[doc = "Channel n Priority Register"]
994pub struct DCHPRI13 {
995 register: VolatileCell<u8>,
996}
997#[doc = "Channel n Priority Register"]
998pub mod dchpri13;
999#[doc = "Channel n Priority Register"]
1000pub struct DCHPRI12 {
1001 register: VolatileCell<u8>,
1002}
1003#[doc = "Channel n Priority Register"]
1004pub mod dchpri12;
1005#[doc = "Channel n Priority Register"]
1006pub struct DCHPRI19 {
1007 register: VolatileCell<u8>,
1008}
1009#[doc = "Channel n Priority Register"]
1010pub mod dchpri19;
1011#[doc = "Channel n Priority Register"]
1012pub struct DCHPRI18 {
1013 register: VolatileCell<u8>,
1014}
1015#[doc = "Channel n Priority Register"]
1016pub mod dchpri18;
1017#[doc = "Channel n Priority Register"]
1018pub struct DCHPRI17 {
1019 register: VolatileCell<u8>,
1020}
1021#[doc = "Channel n Priority Register"]
1022pub mod dchpri17;
1023#[doc = "Channel n Priority Register"]
1024pub struct DCHPRI16 {
1025 register: VolatileCell<u8>,
1026}
1027#[doc = "Channel n Priority Register"]
1028pub mod dchpri16;
1029#[doc = "Channel n Priority Register"]
1030pub struct DCHPRI23 {
1031 register: VolatileCell<u8>,
1032}
1033#[doc = "Channel n Priority Register"]
1034pub mod dchpri23;
1035#[doc = "Channel n Priority Register"]
1036pub struct DCHPRI22 {
1037 register: VolatileCell<u8>,
1038}
1039#[doc = "Channel n Priority Register"]
1040pub mod dchpri22;
1041#[doc = "Channel n Priority Register"]
1042pub struct DCHPRI21 {
1043 register: VolatileCell<u8>,
1044}
1045#[doc = "Channel n Priority Register"]
1046pub mod dchpri21;
1047#[doc = "Channel n Priority Register"]
1048pub struct DCHPRI20 {
1049 register: VolatileCell<u8>,
1050}
1051#[doc = "Channel n Priority Register"]
1052pub mod dchpri20;
1053#[doc = "Channel n Priority Register"]
1054pub struct DCHPRI27 {
1055 register: VolatileCell<u8>,
1056}
1057#[doc = "Channel n Priority Register"]
1058pub mod dchpri27;
1059#[doc = "Channel n Priority Register"]
1060pub struct DCHPRI26 {
1061 register: VolatileCell<u8>,
1062}
1063#[doc = "Channel n Priority Register"]
1064pub mod dchpri26;
1065#[doc = "Channel n Priority Register"]
1066pub struct DCHPRI25 {
1067 register: VolatileCell<u8>,
1068}
1069#[doc = "Channel n Priority Register"]
1070pub mod dchpri25;
1071#[doc = "Channel n Priority Register"]
1072pub struct DCHPRI24 {
1073 register: VolatileCell<u8>,
1074}
1075#[doc = "Channel n Priority Register"]
1076pub mod dchpri24;
1077#[doc = "Channel n Priority Register"]
1078pub struct DCHPRI31 {
1079 register: VolatileCell<u8>,
1080}
1081#[doc = "Channel n Priority Register"]
1082pub mod dchpri31;
1083#[doc = "Channel n Priority Register"]
1084pub struct DCHPRI30 {
1085 register: VolatileCell<u8>,
1086}
1087#[doc = "Channel n Priority Register"]
1088pub mod dchpri30;
1089#[doc = "Channel n Priority Register"]
1090pub struct DCHPRI29 {
1091 register: VolatileCell<u8>,
1092}
1093#[doc = "Channel n Priority Register"]
1094pub mod dchpri29;
1095#[doc = "Channel n Priority Register"]
1096pub struct DCHPRI28 {
1097 register: VolatileCell<u8>,
1098}
1099#[doc = "Channel n Priority Register"]
1100pub mod dchpri28;
1101#[doc = "TCD Source Address"]
1102pub struct TCD0_SADDR {
1103 register: VolatileCell<u32>,
1104}
1105#[doc = "TCD Source Address"]
1106pub mod tcd0_saddr;
1107#[doc = "TCD Signed Source Address Offset"]
1108pub struct TCD0_SOFF {
1109 register: VolatileCell<u16>,
1110}
1111#[doc = "TCD Signed Source Address Offset"]
1112pub mod tcd0_soff;
1113#[doc = "TCD Transfer Attributes"]
1114pub struct TCD0_ATTR {
1115 register: VolatileCell<u16>,
1116}
1117#[doc = "TCD Transfer Attributes"]
1118pub mod tcd0_attr;
1119#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1120pub struct TCD0_NBYTES_MLNO {
1121 register: VolatileCell<u32>,
1122}
1123#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1124pub mod tcd0_nbytes_mlno;
1125#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1126pub struct TCD0_NBYTES_MLOFFNO {
1127 register: VolatileCell<u32>,
1128}
1129#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1130pub mod tcd0_nbytes_mloffno;
1131#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1132pub struct TCD0_NBYTES_MLOFFYES {
1133 register: VolatileCell<u32>,
1134}
1135#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1136pub mod tcd0_nbytes_mloffyes;
1137#[doc = "TCD Last Source Address Adjustment"]
1138pub struct TCD0_SLAST {
1139 register: VolatileCell<u32>,
1140}
1141#[doc = "TCD Last Source Address Adjustment"]
1142pub mod tcd0_slast;
1143#[doc = "TCD Destination Address"]
1144pub struct TCD0_DADDR {
1145 register: VolatileCell<u32>,
1146}
1147#[doc = "TCD Destination Address"]
1148pub mod tcd0_daddr;
1149#[doc = "TCD Signed Destination Address Offset"]
1150pub struct TCD0_DOFF {
1151 register: VolatileCell<u16>,
1152}
1153#[doc = "TCD Signed Destination Address Offset"]
1154pub mod tcd0_doff;
1155#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1156pub struct TCD0_CITER_ELINKNO {
1157 register: VolatileCell<u16>,
1158}
1159#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1160pub mod tcd0_citer_elinkno;
1161#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1162pub struct TCD0_CITER_ELINKYES {
1163 register: VolatileCell<u16>,
1164}
1165#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1166pub mod tcd0_citer_elinkyes;
1167#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1168pub struct TCD0_DLASTSGA {
1169 register: VolatileCell<u32>,
1170}
1171#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1172pub mod tcd0_dlastsga;
1173#[doc = "TCD Control and Status"]
1174pub struct TCD0_CSR {
1175 register: VolatileCell<u16>,
1176}
1177#[doc = "TCD Control and Status"]
1178pub mod tcd0_csr;
1179#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1180pub struct TCD0_BITER_ELINKNO {
1181 register: VolatileCell<u16>,
1182}
1183#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1184pub mod tcd0_biter_elinkno;
1185#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1186pub struct TCD0_BITER_ELINKYES {
1187 register: VolatileCell<u16>,
1188}
1189#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1190pub mod tcd0_biter_elinkyes;
1191#[doc = "TCD Source Address"]
1192pub struct TCD1_SADDR {
1193 register: VolatileCell<u32>,
1194}
1195#[doc = "TCD Source Address"]
1196pub mod tcd1_saddr;
1197#[doc = "TCD Signed Source Address Offset"]
1198pub struct TCD1_SOFF {
1199 register: VolatileCell<u16>,
1200}
1201#[doc = "TCD Signed Source Address Offset"]
1202pub mod tcd1_soff;
1203#[doc = "TCD Transfer Attributes"]
1204pub struct TCD1_ATTR {
1205 register: VolatileCell<u16>,
1206}
1207#[doc = "TCD Transfer Attributes"]
1208pub mod tcd1_attr;
1209#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1210pub struct TCD1_NBYTES_MLNO {
1211 register: VolatileCell<u32>,
1212}
1213#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1214pub mod tcd1_nbytes_mlno;
1215#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1216pub struct TCD1_NBYTES_MLOFFNO {
1217 register: VolatileCell<u32>,
1218}
1219#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1220pub mod tcd1_nbytes_mloffno;
1221#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1222pub struct TCD1_NBYTES_MLOFFYES {
1223 register: VolatileCell<u32>,
1224}
1225#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1226pub mod tcd1_nbytes_mloffyes;
1227#[doc = "TCD Last Source Address Adjustment"]
1228pub struct TCD1_SLAST {
1229 register: VolatileCell<u32>,
1230}
1231#[doc = "TCD Last Source Address Adjustment"]
1232pub mod tcd1_slast;
1233#[doc = "TCD Destination Address"]
1234pub struct TCD1_DADDR {
1235 register: VolatileCell<u32>,
1236}
1237#[doc = "TCD Destination Address"]
1238pub mod tcd1_daddr;
1239#[doc = "TCD Signed Destination Address Offset"]
1240pub struct TCD1_DOFF {
1241 register: VolatileCell<u16>,
1242}
1243#[doc = "TCD Signed Destination Address Offset"]
1244pub mod tcd1_doff;
1245#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1246pub struct TCD1_CITER_ELINKNO {
1247 register: VolatileCell<u16>,
1248}
1249#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1250pub mod tcd1_citer_elinkno;
1251#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1252pub struct TCD1_CITER_ELINKYES {
1253 register: VolatileCell<u16>,
1254}
1255#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1256pub mod tcd1_citer_elinkyes;
1257#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1258pub struct TCD1_DLASTSGA {
1259 register: VolatileCell<u32>,
1260}
1261#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1262pub mod tcd1_dlastsga;
1263#[doc = "TCD Control and Status"]
1264pub struct TCD1_CSR {
1265 register: VolatileCell<u16>,
1266}
1267#[doc = "TCD Control and Status"]
1268pub mod tcd1_csr;
1269#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1270pub struct TCD1_BITER_ELINKNO {
1271 register: VolatileCell<u16>,
1272}
1273#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1274pub mod tcd1_biter_elinkno;
1275#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1276pub struct TCD1_BITER_ELINKYES {
1277 register: VolatileCell<u16>,
1278}
1279#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1280pub mod tcd1_biter_elinkyes;
1281#[doc = "TCD Source Address"]
1282pub struct TCD2_SADDR {
1283 register: VolatileCell<u32>,
1284}
1285#[doc = "TCD Source Address"]
1286pub mod tcd2_saddr;
1287#[doc = "TCD Signed Source Address Offset"]
1288pub struct TCD2_SOFF {
1289 register: VolatileCell<u16>,
1290}
1291#[doc = "TCD Signed Source Address Offset"]
1292pub mod tcd2_soff;
1293#[doc = "TCD Transfer Attributes"]
1294pub struct TCD2_ATTR {
1295 register: VolatileCell<u16>,
1296}
1297#[doc = "TCD Transfer Attributes"]
1298pub mod tcd2_attr;
1299#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1300pub struct TCD2_NBYTES_MLNO {
1301 register: VolatileCell<u32>,
1302}
1303#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1304pub mod tcd2_nbytes_mlno;
1305#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1306pub struct TCD2_NBYTES_MLOFFNO {
1307 register: VolatileCell<u32>,
1308}
1309#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1310pub mod tcd2_nbytes_mloffno;
1311#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1312pub struct TCD2_NBYTES_MLOFFYES {
1313 register: VolatileCell<u32>,
1314}
1315#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1316pub mod tcd2_nbytes_mloffyes;
1317#[doc = "TCD Last Source Address Adjustment"]
1318pub struct TCD2_SLAST {
1319 register: VolatileCell<u32>,
1320}
1321#[doc = "TCD Last Source Address Adjustment"]
1322pub mod tcd2_slast;
1323#[doc = "TCD Destination Address"]
1324pub struct TCD2_DADDR {
1325 register: VolatileCell<u32>,
1326}
1327#[doc = "TCD Destination Address"]
1328pub mod tcd2_daddr;
1329#[doc = "TCD Signed Destination Address Offset"]
1330pub struct TCD2_DOFF {
1331 register: VolatileCell<u16>,
1332}
1333#[doc = "TCD Signed Destination Address Offset"]
1334pub mod tcd2_doff;
1335#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1336pub struct TCD2_CITER_ELINKNO {
1337 register: VolatileCell<u16>,
1338}
1339#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1340pub mod tcd2_citer_elinkno;
1341#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1342pub struct TCD2_CITER_ELINKYES {
1343 register: VolatileCell<u16>,
1344}
1345#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1346pub mod tcd2_citer_elinkyes;
1347#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1348pub struct TCD2_DLASTSGA {
1349 register: VolatileCell<u32>,
1350}
1351#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1352pub mod tcd2_dlastsga;
1353#[doc = "TCD Control and Status"]
1354pub struct TCD2_CSR {
1355 register: VolatileCell<u16>,
1356}
1357#[doc = "TCD Control and Status"]
1358pub mod tcd2_csr;
1359#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1360pub struct TCD2_BITER_ELINKNO {
1361 register: VolatileCell<u16>,
1362}
1363#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1364pub mod tcd2_biter_elinkno;
1365#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1366pub struct TCD2_BITER_ELINKYES {
1367 register: VolatileCell<u16>,
1368}
1369#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1370pub mod tcd2_biter_elinkyes;
1371#[doc = "TCD Source Address"]
1372pub struct TCD3_SADDR {
1373 register: VolatileCell<u32>,
1374}
1375#[doc = "TCD Source Address"]
1376pub mod tcd3_saddr;
1377#[doc = "TCD Signed Source Address Offset"]
1378pub struct TCD3_SOFF {
1379 register: VolatileCell<u16>,
1380}
1381#[doc = "TCD Signed Source Address Offset"]
1382pub mod tcd3_soff;
1383#[doc = "TCD Transfer Attributes"]
1384pub struct TCD3_ATTR {
1385 register: VolatileCell<u16>,
1386}
1387#[doc = "TCD Transfer Attributes"]
1388pub mod tcd3_attr;
1389#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1390pub struct TCD3_NBYTES_MLNO {
1391 register: VolatileCell<u32>,
1392}
1393#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1394pub mod tcd3_nbytes_mlno;
1395#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1396pub struct TCD3_NBYTES_MLOFFNO {
1397 register: VolatileCell<u32>,
1398}
1399#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1400pub mod tcd3_nbytes_mloffno;
1401#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1402pub struct TCD3_NBYTES_MLOFFYES {
1403 register: VolatileCell<u32>,
1404}
1405#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1406pub mod tcd3_nbytes_mloffyes;
1407#[doc = "TCD Last Source Address Adjustment"]
1408pub struct TCD3_SLAST {
1409 register: VolatileCell<u32>,
1410}
1411#[doc = "TCD Last Source Address Adjustment"]
1412pub mod tcd3_slast;
1413#[doc = "TCD Destination Address"]
1414pub struct TCD3_DADDR {
1415 register: VolatileCell<u32>,
1416}
1417#[doc = "TCD Destination Address"]
1418pub mod tcd3_daddr;
1419#[doc = "TCD Signed Destination Address Offset"]
1420pub struct TCD3_DOFF {
1421 register: VolatileCell<u16>,
1422}
1423#[doc = "TCD Signed Destination Address Offset"]
1424pub mod tcd3_doff;
1425#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1426pub struct TCD3_CITER_ELINKNO {
1427 register: VolatileCell<u16>,
1428}
1429#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1430pub mod tcd3_citer_elinkno;
1431#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1432pub struct TCD3_CITER_ELINKYES {
1433 register: VolatileCell<u16>,
1434}
1435#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1436pub mod tcd3_citer_elinkyes;
1437#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1438pub struct TCD3_DLASTSGA {
1439 register: VolatileCell<u32>,
1440}
1441#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1442pub mod tcd3_dlastsga;
1443#[doc = "TCD Control and Status"]
1444pub struct TCD3_CSR {
1445 register: VolatileCell<u16>,
1446}
1447#[doc = "TCD Control and Status"]
1448pub mod tcd3_csr;
1449#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1450pub struct TCD3_BITER_ELINKNO {
1451 register: VolatileCell<u16>,
1452}
1453#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1454pub mod tcd3_biter_elinkno;
1455#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1456pub struct TCD3_BITER_ELINKYES {
1457 register: VolatileCell<u16>,
1458}
1459#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1460pub mod tcd3_biter_elinkyes;
1461#[doc = "TCD Source Address"]
1462pub struct TCD4_SADDR {
1463 register: VolatileCell<u32>,
1464}
1465#[doc = "TCD Source Address"]
1466pub mod tcd4_saddr;
1467#[doc = "TCD Signed Source Address Offset"]
1468pub struct TCD4_SOFF {
1469 register: VolatileCell<u16>,
1470}
1471#[doc = "TCD Signed Source Address Offset"]
1472pub mod tcd4_soff;
1473#[doc = "TCD Transfer Attributes"]
1474pub struct TCD4_ATTR {
1475 register: VolatileCell<u16>,
1476}
1477#[doc = "TCD Transfer Attributes"]
1478pub mod tcd4_attr;
1479#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1480pub struct TCD4_NBYTES_MLNO {
1481 register: VolatileCell<u32>,
1482}
1483#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1484pub mod tcd4_nbytes_mlno;
1485#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1486pub struct TCD4_NBYTES_MLOFFNO {
1487 register: VolatileCell<u32>,
1488}
1489#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1490pub mod tcd4_nbytes_mloffno;
1491#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1492pub struct TCD4_NBYTES_MLOFFYES {
1493 register: VolatileCell<u32>,
1494}
1495#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1496pub mod tcd4_nbytes_mloffyes;
1497#[doc = "TCD Last Source Address Adjustment"]
1498pub struct TCD4_SLAST {
1499 register: VolatileCell<u32>,
1500}
1501#[doc = "TCD Last Source Address Adjustment"]
1502pub mod tcd4_slast;
1503#[doc = "TCD Destination Address"]
1504pub struct TCD4_DADDR {
1505 register: VolatileCell<u32>,
1506}
1507#[doc = "TCD Destination Address"]
1508pub mod tcd4_daddr;
1509#[doc = "TCD Signed Destination Address Offset"]
1510pub struct TCD4_DOFF {
1511 register: VolatileCell<u16>,
1512}
1513#[doc = "TCD Signed Destination Address Offset"]
1514pub mod tcd4_doff;
1515#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1516pub struct TCD4_CITER_ELINKNO {
1517 register: VolatileCell<u16>,
1518}
1519#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1520pub mod tcd4_citer_elinkno;
1521#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1522pub struct TCD4_CITER_ELINKYES {
1523 register: VolatileCell<u16>,
1524}
1525#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1526pub mod tcd4_citer_elinkyes;
1527#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1528pub struct TCD4_DLASTSGA {
1529 register: VolatileCell<u32>,
1530}
1531#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1532pub mod tcd4_dlastsga;
1533#[doc = "TCD Control and Status"]
1534pub struct TCD4_CSR {
1535 register: VolatileCell<u16>,
1536}
1537#[doc = "TCD Control and Status"]
1538pub mod tcd4_csr;
1539#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1540pub struct TCD4_BITER_ELINKNO {
1541 register: VolatileCell<u16>,
1542}
1543#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1544pub mod tcd4_biter_elinkno;
1545#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1546pub struct TCD4_BITER_ELINKYES {
1547 register: VolatileCell<u16>,
1548}
1549#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1550pub mod tcd4_biter_elinkyes;
1551#[doc = "TCD Source Address"]
1552pub struct TCD5_SADDR {
1553 register: VolatileCell<u32>,
1554}
1555#[doc = "TCD Source Address"]
1556pub mod tcd5_saddr;
1557#[doc = "TCD Signed Source Address Offset"]
1558pub struct TCD5_SOFF {
1559 register: VolatileCell<u16>,
1560}
1561#[doc = "TCD Signed Source Address Offset"]
1562pub mod tcd5_soff;
1563#[doc = "TCD Transfer Attributes"]
1564pub struct TCD5_ATTR {
1565 register: VolatileCell<u16>,
1566}
1567#[doc = "TCD Transfer Attributes"]
1568pub mod tcd5_attr;
1569#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1570pub struct TCD5_NBYTES_MLNO {
1571 register: VolatileCell<u32>,
1572}
1573#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1574pub mod tcd5_nbytes_mlno;
1575#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1576pub struct TCD5_NBYTES_MLOFFNO {
1577 register: VolatileCell<u32>,
1578}
1579#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1580pub mod tcd5_nbytes_mloffno;
1581#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1582pub struct TCD5_NBYTES_MLOFFYES {
1583 register: VolatileCell<u32>,
1584}
1585#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1586pub mod tcd5_nbytes_mloffyes;
1587#[doc = "TCD Last Source Address Adjustment"]
1588pub struct TCD5_SLAST {
1589 register: VolatileCell<u32>,
1590}
1591#[doc = "TCD Last Source Address Adjustment"]
1592pub mod tcd5_slast;
1593#[doc = "TCD Destination Address"]
1594pub struct TCD5_DADDR {
1595 register: VolatileCell<u32>,
1596}
1597#[doc = "TCD Destination Address"]
1598pub mod tcd5_daddr;
1599#[doc = "TCD Signed Destination Address Offset"]
1600pub struct TCD5_DOFF {
1601 register: VolatileCell<u16>,
1602}
1603#[doc = "TCD Signed Destination Address Offset"]
1604pub mod tcd5_doff;
1605#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1606pub struct TCD5_CITER_ELINKNO {
1607 register: VolatileCell<u16>,
1608}
1609#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1610pub mod tcd5_citer_elinkno;
1611#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1612pub struct TCD5_CITER_ELINKYES {
1613 register: VolatileCell<u16>,
1614}
1615#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1616pub mod tcd5_citer_elinkyes;
1617#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1618pub struct TCD5_DLASTSGA {
1619 register: VolatileCell<u32>,
1620}
1621#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1622pub mod tcd5_dlastsga;
1623#[doc = "TCD Control and Status"]
1624pub struct TCD5_CSR {
1625 register: VolatileCell<u16>,
1626}
1627#[doc = "TCD Control and Status"]
1628pub mod tcd5_csr;
1629#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1630pub struct TCD5_BITER_ELINKNO {
1631 register: VolatileCell<u16>,
1632}
1633#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1634pub mod tcd5_biter_elinkno;
1635#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1636pub struct TCD5_BITER_ELINKYES {
1637 register: VolatileCell<u16>,
1638}
1639#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1640pub mod tcd5_biter_elinkyes;
1641#[doc = "TCD Source Address"]
1642pub struct TCD6_SADDR {
1643 register: VolatileCell<u32>,
1644}
1645#[doc = "TCD Source Address"]
1646pub mod tcd6_saddr;
1647#[doc = "TCD Signed Source Address Offset"]
1648pub struct TCD6_SOFF {
1649 register: VolatileCell<u16>,
1650}
1651#[doc = "TCD Signed Source Address Offset"]
1652pub mod tcd6_soff;
1653#[doc = "TCD Transfer Attributes"]
1654pub struct TCD6_ATTR {
1655 register: VolatileCell<u16>,
1656}
1657#[doc = "TCD Transfer Attributes"]
1658pub mod tcd6_attr;
1659#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1660pub struct TCD6_NBYTES_MLNO {
1661 register: VolatileCell<u32>,
1662}
1663#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1664pub mod tcd6_nbytes_mlno;
1665#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1666pub struct TCD6_NBYTES_MLOFFNO {
1667 register: VolatileCell<u32>,
1668}
1669#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1670pub mod tcd6_nbytes_mloffno;
1671#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1672pub struct TCD6_NBYTES_MLOFFYES {
1673 register: VolatileCell<u32>,
1674}
1675#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1676pub mod tcd6_nbytes_mloffyes;
1677#[doc = "TCD Last Source Address Adjustment"]
1678pub struct TCD6_SLAST {
1679 register: VolatileCell<u32>,
1680}
1681#[doc = "TCD Last Source Address Adjustment"]
1682pub mod tcd6_slast;
1683#[doc = "TCD Destination Address"]
1684pub struct TCD6_DADDR {
1685 register: VolatileCell<u32>,
1686}
1687#[doc = "TCD Destination Address"]
1688pub mod tcd6_daddr;
1689#[doc = "TCD Signed Destination Address Offset"]
1690pub struct TCD6_DOFF {
1691 register: VolatileCell<u16>,
1692}
1693#[doc = "TCD Signed Destination Address Offset"]
1694pub mod tcd6_doff;
1695#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1696pub struct TCD6_CITER_ELINKNO {
1697 register: VolatileCell<u16>,
1698}
1699#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1700pub mod tcd6_citer_elinkno;
1701#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1702pub struct TCD6_CITER_ELINKYES {
1703 register: VolatileCell<u16>,
1704}
1705#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1706pub mod tcd6_citer_elinkyes;
1707#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1708pub struct TCD6_DLASTSGA {
1709 register: VolatileCell<u32>,
1710}
1711#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1712pub mod tcd6_dlastsga;
1713#[doc = "TCD Control and Status"]
1714pub struct TCD6_CSR {
1715 register: VolatileCell<u16>,
1716}
1717#[doc = "TCD Control and Status"]
1718pub mod tcd6_csr;
1719#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1720pub struct TCD6_BITER_ELINKNO {
1721 register: VolatileCell<u16>,
1722}
1723#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1724pub mod tcd6_biter_elinkno;
1725#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1726pub struct TCD6_BITER_ELINKYES {
1727 register: VolatileCell<u16>,
1728}
1729#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1730pub mod tcd6_biter_elinkyes;
1731#[doc = "TCD Source Address"]
1732pub struct TCD7_SADDR {
1733 register: VolatileCell<u32>,
1734}
1735#[doc = "TCD Source Address"]
1736pub mod tcd7_saddr;
1737#[doc = "TCD Signed Source Address Offset"]
1738pub struct TCD7_SOFF {
1739 register: VolatileCell<u16>,
1740}
1741#[doc = "TCD Signed Source Address Offset"]
1742pub mod tcd7_soff;
1743#[doc = "TCD Transfer Attributes"]
1744pub struct TCD7_ATTR {
1745 register: VolatileCell<u16>,
1746}
1747#[doc = "TCD Transfer Attributes"]
1748pub mod tcd7_attr;
1749#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1750pub struct TCD7_NBYTES_MLNO {
1751 register: VolatileCell<u32>,
1752}
1753#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1754pub mod tcd7_nbytes_mlno;
1755#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1756pub struct TCD7_NBYTES_MLOFFNO {
1757 register: VolatileCell<u32>,
1758}
1759#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1760pub mod tcd7_nbytes_mloffno;
1761#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1762pub struct TCD7_NBYTES_MLOFFYES {
1763 register: VolatileCell<u32>,
1764}
1765#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1766pub mod tcd7_nbytes_mloffyes;
1767#[doc = "TCD Last Source Address Adjustment"]
1768pub struct TCD7_SLAST {
1769 register: VolatileCell<u32>,
1770}
1771#[doc = "TCD Last Source Address Adjustment"]
1772pub mod tcd7_slast;
1773#[doc = "TCD Destination Address"]
1774pub struct TCD7_DADDR {
1775 register: VolatileCell<u32>,
1776}
1777#[doc = "TCD Destination Address"]
1778pub mod tcd7_daddr;
1779#[doc = "TCD Signed Destination Address Offset"]
1780pub struct TCD7_DOFF {
1781 register: VolatileCell<u16>,
1782}
1783#[doc = "TCD Signed Destination Address Offset"]
1784pub mod tcd7_doff;
1785#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1786pub struct TCD7_CITER_ELINKNO {
1787 register: VolatileCell<u16>,
1788}
1789#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1790pub mod tcd7_citer_elinkno;
1791#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1792pub struct TCD7_CITER_ELINKYES {
1793 register: VolatileCell<u16>,
1794}
1795#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1796pub mod tcd7_citer_elinkyes;
1797#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1798pub struct TCD7_DLASTSGA {
1799 register: VolatileCell<u32>,
1800}
1801#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1802pub mod tcd7_dlastsga;
1803#[doc = "TCD Control and Status"]
1804pub struct TCD7_CSR {
1805 register: VolatileCell<u16>,
1806}
1807#[doc = "TCD Control and Status"]
1808pub mod tcd7_csr;
1809#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1810pub struct TCD7_BITER_ELINKNO {
1811 register: VolatileCell<u16>,
1812}
1813#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1814pub mod tcd7_biter_elinkno;
1815#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1816pub struct TCD7_BITER_ELINKYES {
1817 register: VolatileCell<u16>,
1818}
1819#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1820pub mod tcd7_biter_elinkyes;
1821#[doc = "TCD Source Address"]
1822pub struct TCD8_SADDR {
1823 register: VolatileCell<u32>,
1824}
1825#[doc = "TCD Source Address"]
1826pub mod tcd8_saddr;
1827#[doc = "TCD Signed Source Address Offset"]
1828pub struct TCD8_SOFF {
1829 register: VolatileCell<u16>,
1830}
1831#[doc = "TCD Signed Source Address Offset"]
1832pub mod tcd8_soff;
1833#[doc = "TCD Transfer Attributes"]
1834pub struct TCD8_ATTR {
1835 register: VolatileCell<u16>,
1836}
1837#[doc = "TCD Transfer Attributes"]
1838pub mod tcd8_attr;
1839#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1840pub struct TCD8_NBYTES_MLNO {
1841 register: VolatileCell<u32>,
1842}
1843#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1844pub mod tcd8_nbytes_mlno;
1845#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1846pub struct TCD8_NBYTES_MLOFFNO {
1847 register: VolatileCell<u32>,
1848}
1849#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1850pub mod tcd8_nbytes_mloffno;
1851#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1852pub struct TCD8_NBYTES_MLOFFYES {
1853 register: VolatileCell<u32>,
1854}
1855#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1856pub mod tcd8_nbytes_mloffyes;
1857#[doc = "TCD Last Source Address Adjustment"]
1858pub struct TCD8_SLAST {
1859 register: VolatileCell<u32>,
1860}
1861#[doc = "TCD Last Source Address Adjustment"]
1862pub mod tcd8_slast;
1863#[doc = "TCD Destination Address"]
1864pub struct TCD8_DADDR {
1865 register: VolatileCell<u32>,
1866}
1867#[doc = "TCD Destination Address"]
1868pub mod tcd8_daddr;
1869#[doc = "TCD Signed Destination Address Offset"]
1870pub struct TCD8_DOFF {
1871 register: VolatileCell<u16>,
1872}
1873#[doc = "TCD Signed Destination Address Offset"]
1874pub mod tcd8_doff;
1875#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1876pub struct TCD8_CITER_ELINKNO {
1877 register: VolatileCell<u16>,
1878}
1879#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1880pub mod tcd8_citer_elinkno;
1881#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1882pub struct TCD8_CITER_ELINKYES {
1883 register: VolatileCell<u16>,
1884}
1885#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1886pub mod tcd8_citer_elinkyes;
1887#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1888pub struct TCD8_DLASTSGA {
1889 register: VolatileCell<u32>,
1890}
1891#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1892pub mod tcd8_dlastsga;
1893#[doc = "TCD Control and Status"]
1894pub struct TCD8_CSR {
1895 register: VolatileCell<u16>,
1896}
1897#[doc = "TCD Control and Status"]
1898pub mod tcd8_csr;
1899#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1900pub struct TCD8_BITER_ELINKNO {
1901 register: VolatileCell<u16>,
1902}
1903#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1904pub mod tcd8_biter_elinkno;
1905#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1906pub struct TCD8_BITER_ELINKYES {
1907 register: VolatileCell<u16>,
1908}
1909#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1910pub mod tcd8_biter_elinkyes;
1911#[doc = "TCD Source Address"]
1912pub struct TCD9_SADDR {
1913 register: VolatileCell<u32>,
1914}
1915#[doc = "TCD Source Address"]
1916pub mod tcd9_saddr;
1917#[doc = "TCD Signed Source Address Offset"]
1918pub struct TCD9_SOFF {
1919 register: VolatileCell<u16>,
1920}
1921#[doc = "TCD Signed Source Address Offset"]
1922pub mod tcd9_soff;
1923#[doc = "TCD Transfer Attributes"]
1924pub struct TCD9_ATTR {
1925 register: VolatileCell<u16>,
1926}
1927#[doc = "TCD Transfer Attributes"]
1928pub mod tcd9_attr;
1929#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1930pub struct TCD9_NBYTES_MLNO {
1931 register: VolatileCell<u32>,
1932}
1933#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
1934pub mod tcd9_nbytes_mlno;
1935#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1936pub struct TCD9_NBYTES_MLOFFNO {
1937 register: VolatileCell<u32>,
1938}
1939#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
1940pub mod tcd9_nbytes_mloffno;
1941#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1942pub struct TCD9_NBYTES_MLOFFYES {
1943 register: VolatileCell<u32>,
1944}
1945#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
1946pub mod tcd9_nbytes_mloffyes;
1947#[doc = "TCD Last Source Address Adjustment"]
1948pub struct TCD9_SLAST {
1949 register: VolatileCell<u32>,
1950}
1951#[doc = "TCD Last Source Address Adjustment"]
1952pub mod tcd9_slast;
1953#[doc = "TCD Destination Address"]
1954pub struct TCD9_DADDR {
1955 register: VolatileCell<u32>,
1956}
1957#[doc = "TCD Destination Address"]
1958pub mod tcd9_daddr;
1959#[doc = "TCD Signed Destination Address Offset"]
1960pub struct TCD9_DOFF {
1961 register: VolatileCell<u16>,
1962}
1963#[doc = "TCD Signed Destination Address Offset"]
1964pub mod tcd9_doff;
1965#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1966pub struct TCD9_CITER_ELINKNO {
1967 register: VolatileCell<u16>,
1968}
1969#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1970pub mod tcd9_citer_elinkno;
1971#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1972pub struct TCD9_CITER_ELINKYES {
1973 register: VolatileCell<u16>,
1974}
1975#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1976pub mod tcd9_citer_elinkyes;
1977#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1978pub struct TCD9_DLASTSGA {
1979 register: VolatileCell<u32>,
1980}
1981#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
1982pub mod tcd9_dlastsga;
1983#[doc = "TCD Control and Status"]
1984pub struct TCD9_CSR {
1985 register: VolatileCell<u16>,
1986}
1987#[doc = "TCD Control and Status"]
1988pub mod tcd9_csr;
1989#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1990pub struct TCD9_BITER_ELINKNO {
1991 register: VolatileCell<u16>,
1992}
1993#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
1994pub mod tcd9_biter_elinkno;
1995#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
1996pub struct TCD9_BITER_ELINKYES {
1997 register: VolatileCell<u16>,
1998}
1999#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2000pub mod tcd9_biter_elinkyes;
2001#[doc = "TCD Source Address"]
2002pub struct TCD10_SADDR {
2003 register: VolatileCell<u32>,
2004}
2005#[doc = "TCD Source Address"]
2006pub mod tcd10_saddr;
2007#[doc = "TCD Signed Source Address Offset"]
2008pub struct TCD10_SOFF {
2009 register: VolatileCell<u16>,
2010}
2011#[doc = "TCD Signed Source Address Offset"]
2012pub mod tcd10_soff;
2013#[doc = "TCD Transfer Attributes"]
2014pub struct TCD10_ATTR {
2015 register: VolatileCell<u16>,
2016}
2017#[doc = "TCD Transfer Attributes"]
2018pub mod tcd10_attr;
2019#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2020pub struct TCD10_NBYTES_MLNO {
2021 register: VolatileCell<u32>,
2022}
2023#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2024pub mod tcd10_nbytes_mlno;
2025#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2026pub struct TCD10_NBYTES_MLOFFNO {
2027 register: VolatileCell<u32>,
2028}
2029#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2030pub mod tcd10_nbytes_mloffno;
2031#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2032pub struct TCD10_NBYTES_MLOFFYES {
2033 register: VolatileCell<u32>,
2034}
2035#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2036pub mod tcd10_nbytes_mloffyes;
2037#[doc = "TCD Last Source Address Adjustment"]
2038pub struct TCD10_SLAST {
2039 register: VolatileCell<u32>,
2040}
2041#[doc = "TCD Last Source Address Adjustment"]
2042pub mod tcd10_slast;
2043#[doc = "TCD Destination Address"]
2044pub struct TCD10_DADDR {
2045 register: VolatileCell<u32>,
2046}
2047#[doc = "TCD Destination Address"]
2048pub mod tcd10_daddr;
2049#[doc = "TCD Signed Destination Address Offset"]
2050pub struct TCD10_DOFF {
2051 register: VolatileCell<u16>,
2052}
2053#[doc = "TCD Signed Destination Address Offset"]
2054pub mod tcd10_doff;
2055#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2056pub struct TCD10_CITER_ELINKNO {
2057 register: VolatileCell<u16>,
2058}
2059#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2060pub mod tcd10_citer_elinkno;
2061#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2062pub struct TCD10_CITER_ELINKYES {
2063 register: VolatileCell<u16>,
2064}
2065#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2066pub mod tcd10_citer_elinkyes;
2067#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2068pub struct TCD10_DLASTSGA {
2069 register: VolatileCell<u32>,
2070}
2071#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2072pub mod tcd10_dlastsga;
2073#[doc = "TCD Control and Status"]
2074pub struct TCD10_CSR {
2075 register: VolatileCell<u16>,
2076}
2077#[doc = "TCD Control and Status"]
2078pub mod tcd10_csr;
2079#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2080pub struct TCD10_BITER_ELINKNO {
2081 register: VolatileCell<u16>,
2082}
2083#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2084pub mod tcd10_biter_elinkno;
2085#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2086pub struct TCD10_BITER_ELINKYES {
2087 register: VolatileCell<u16>,
2088}
2089#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2090pub mod tcd10_biter_elinkyes;
2091#[doc = "TCD Source Address"]
2092pub struct TCD11_SADDR {
2093 register: VolatileCell<u32>,
2094}
2095#[doc = "TCD Source Address"]
2096pub mod tcd11_saddr;
2097#[doc = "TCD Signed Source Address Offset"]
2098pub struct TCD11_SOFF {
2099 register: VolatileCell<u16>,
2100}
2101#[doc = "TCD Signed Source Address Offset"]
2102pub mod tcd11_soff;
2103#[doc = "TCD Transfer Attributes"]
2104pub struct TCD11_ATTR {
2105 register: VolatileCell<u16>,
2106}
2107#[doc = "TCD Transfer Attributes"]
2108pub mod tcd11_attr;
2109#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2110pub struct TCD11_NBYTES_MLNO {
2111 register: VolatileCell<u32>,
2112}
2113#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2114pub mod tcd11_nbytes_mlno;
2115#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2116pub struct TCD11_NBYTES_MLOFFNO {
2117 register: VolatileCell<u32>,
2118}
2119#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2120pub mod tcd11_nbytes_mloffno;
2121#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2122pub struct TCD11_NBYTES_MLOFFYES {
2123 register: VolatileCell<u32>,
2124}
2125#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2126pub mod tcd11_nbytes_mloffyes;
2127#[doc = "TCD Last Source Address Adjustment"]
2128pub struct TCD11_SLAST {
2129 register: VolatileCell<u32>,
2130}
2131#[doc = "TCD Last Source Address Adjustment"]
2132pub mod tcd11_slast;
2133#[doc = "TCD Destination Address"]
2134pub struct TCD11_DADDR {
2135 register: VolatileCell<u32>,
2136}
2137#[doc = "TCD Destination Address"]
2138pub mod tcd11_daddr;
2139#[doc = "TCD Signed Destination Address Offset"]
2140pub struct TCD11_DOFF {
2141 register: VolatileCell<u16>,
2142}
2143#[doc = "TCD Signed Destination Address Offset"]
2144pub mod tcd11_doff;
2145#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2146pub struct TCD11_CITER_ELINKNO {
2147 register: VolatileCell<u16>,
2148}
2149#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2150pub mod tcd11_citer_elinkno;
2151#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2152pub struct TCD11_CITER_ELINKYES {
2153 register: VolatileCell<u16>,
2154}
2155#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2156pub mod tcd11_citer_elinkyes;
2157#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2158pub struct TCD11_DLASTSGA {
2159 register: VolatileCell<u32>,
2160}
2161#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2162pub mod tcd11_dlastsga;
2163#[doc = "TCD Control and Status"]
2164pub struct TCD11_CSR {
2165 register: VolatileCell<u16>,
2166}
2167#[doc = "TCD Control and Status"]
2168pub mod tcd11_csr;
2169#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2170pub struct TCD11_BITER_ELINKNO {
2171 register: VolatileCell<u16>,
2172}
2173#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2174pub mod tcd11_biter_elinkno;
2175#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2176pub struct TCD11_BITER_ELINKYES {
2177 register: VolatileCell<u16>,
2178}
2179#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2180pub mod tcd11_biter_elinkyes;
2181#[doc = "TCD Source Address"]
2182pub struct TCD12_SADDR {
2183 register: VolatileCell<u32>,
2184}
2185#[doc = "TCD Source Address"]
2186pub mod tcd12_saddr;
2187#[doc = "TCD Signed Source Address Offset"]
2188pub struct TCD12_SOFF {
2189 register: VolatileCell<u16>,
2190}
2191#[doc = "TCD Signed Source Address Offset"]
2192pub mod tcd12_soff;
2193#[doc = "TCD Transfer Attributes"]
2194pub struct TCD12_ATTR {
2195 register: VolatileCell<u16>,
2196}
2197#[doc = "TCD Transfer Attributes"]
2198pub mod tcd12_attr;
2199#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2200pub struct TCD12_NBYTES_MLNO {
2201 register: VolatileCell<u32>,
2202}
2203#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2204pub mod tcd12_nbytes_mlno;
2205#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2206pub struct TCD12_NBYTES_MLOFFNO {
2207 register: VolatileCell<u32>,
2208}
2209#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2210pub mod tcd12_nbytes_mloffno;
2211#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2212pub struct TCD12_NBYTES_MLOFFYES {
2213 register: VolatileCell<u32>,
2214}
2215#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2216pub mod tcd12_nbytes_mloffyes;
2217#[doc = "TCD Last Source Address Adjustment"]
2218pub struct TCD12_SLAST {
2219 register: VolatileCell<u32>,
2220}
2221#[doc = "TCD Last Source Address Adjustment"]
2222pub mod tcd12_slast;
2223#[doc = "TCD Destination Address"]
2224pub struct TCD12_DADDR {
2225 register: VolatileCell<u32>,
2226}
2227#[doc = "TCD Destination Address"]
2228pub mod tcd12_daddr;
2229#[doc = "TCD Signed Destination Address Offset"]
2230pub struct TCD12_DOFF {
2231 register: VolatileCell<u16>,
2232}
2233#[doc = "TCD Signed Destination Address Offset"]
2234pub mod tcd12_doff;
2235#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2236pub struct TCD12_CITER_ELINKNO {
2237 register: VolatileCell<u16>,
2238}
2239#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2240pub mod tcd12_citer_elinkno;
2241#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2242pub struct TCD12_CITER_ELINKYES {
2243 register: VolatileCell<u16>,
2244}
2245#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2246pub mod tcd12_citer_elinkyes;
2247#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2248pub struct TCD12_DLASTSGA {
2249 register: VolatileCell<u32>,
2250}
2251#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2252pub mod tcd12_dlastsga;
2253#[doc = "TCD Control and Status"]
2254pub struct TCD12_CSR {
2255 register: VolatileCell<u16>,
2256}
2257#[doc = "TCD Control and Status"]
2258pub mod tcd12_csr;
2259#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2260pub struct TCD12_BITER_ELINKNO {
2261 register: VolatileCell<u16>,
2262}
2263#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2264pub mod tcd12_biter_elinkno;
2265#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2266pub struct TCD12_BITER_ELINKYES {
2267 register: VolatileCell<u16>,
2268}
2269#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2270pub mod tcd12_biter_elinkyes;
2271#[doc = "TCD Source Address"]
2272pub struct TCD13_SADDR {
2273 register: VolatileCell<u32>,
2274}
2275#[doc = "TCD Source Address"]
2276pub mod tcd13_saddr;
2277#[doc = "TCD Signed Source Address Offset"]
2278pub struct TCD13_SOFF {
2279 register: VolatileCell<u16>,
2280}
2281#[doc = "TCD Signed Source Address Offset"]
2282pub mod tcd13_soff;
2283#[doc = "TCD Transfer Attributes"]
2284pub struct TCD13_ATTR {
2285 register: VolatileCell<u16>,
2286}
2287#[doc = "TCD Transfer Attributes"]
2288pub mod tcd13_attr;
2289#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2290pub struct TCD13_NBYTES_MLNO {
2291 register: VolatileCell<u32>,
2292}
2293#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2294pub mod tcd13_nbytes_mlno;
2295#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2296pub struct TCD13_NBYTES_MLOFFNO {
2297 register: VolatileCell<u32>,
2298}
2299#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2300pub mod tcd13_nbytes_mloffno;
2301#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2302pub struct TCD13_NBYTES_MLOFFYES {
2303 register: VolatileCell<u32>,
2304}
2305#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2306pub mod tcd13_nbytes_mloffyes;
2307#[doc = "TCD Last Source Address Adjustment"]
2308pub struct TCD13_SLAST {
2309 register: VolatileCell<u32>,
2310}
2311#[doc = "TCD Last Source Address Adjustment"]
2312pub mod tcd13_slast;
2313#[doc = "TCD Destination Address"]
2314pub struct TCD13_DADDR {
2315 register: VolatileCell<u32>,
2316}
2317#[doc = "TCD Destination Address"]
2318pub mod tcd13_daddr;
2319#[doc = "TCD Signed Destination Address Offset"]
2320pub struct TCD13_DOFF {
2321 register: VolatileCell<u16>,
2322}
2323#[doc = "TCD Signed Destination Address Offset"]
2324pub mod tcd13_doff;
2325#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2326pub struct TCD13_CITER_ELINKNO {
2327 register: VolatileCell<u16>,
2328}
2329#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2330pub mod tcd13_citer_elinkno;
2331#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2332pub struct TCD13_CITER_ELINKYES {
2333 register: VolatileCell<u16>,
2334}
2335#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2336pub mod tcd13_citer_elinkyes;
2337#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2338pub struct TCD13_DLASTSGA {
2339 register: VolatileCell<u32>,
2340}
2341#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2342pub mod tcd13_dlastsga;
2343#[doc = "TCD Control and Status"]
2344pub struct TCD13_CSR {
2345 register: VolatileCell<u16>,
2346}
2347#[doc = "TCD Control and Status"]
2348pub mod tcd13_csr;
2349#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2350pub struct TCD13_BITER_ELINKNO {
2351 register: VolatileCell<u16>,
2352}
2353#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2354pub mod tcd13_biter_elinkno;
2355#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2356pub struct TCD13_BITER_ELINKYES {
2357 register: VolatileCell<u16>,
2358}
2359#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2360pub mod tcd13_biter_elinkyes;
2361#[doc = "TCD Source Address"]
2362pub struct TCD14_SADDR {
2363 register: VolatileCell<u32>,
2364}
2365#[doc = "TCD Source Address"]
2366pub mod tcd14_saddr;
2367#[doc = "TCD Signed Source Address Offset"]
2368pub struct TCD14_SOFF {
2369 register: VolatileCell<u16>,
2370}
2371#[doc = "TCD Signed Source Address Offset"]
2372pub mod tcd14_soff;
2373#[doc = "TCD Transfer Attributes"]
2374pub struct TCD14_ATTR {
2375 register: VolatileCell<u16>,
2376}
2377#[doc = "TCD Transfer Attributes"]
2378pub mod tcd14_attr;
2379#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2380pub struct TCD14_NBYTES_MLNO {
2381 register: VolatileCell<u32>,
2382}
2383#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2384pub mod tcd14_nbytes_mlno;
2385#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2386pub struct TCD14_NBYTES_MLOFFNO {
2387 register: VolatileCell<u32>,
2388}
2389#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2390pub mod tcd14_nbytes_mloffno;
2391#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2392pub struct TCD14_NBYTES_MLOFFYES {
2393 register: VolatileCell<u32>,
2394}
2395#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2396pub mod tcd14_nbytes_mloffyes;
2397#[doc = "TCD Last Source Address Adjustment"]
2398pub struct TCD14_SLAST {
2399 register: VolatileCell<u32>,
2400}
2401#[doc = "TCD Last Source Address Adjustment"]
2402pub mod tcd14_slast;
2403#[doc = "TCD Destination Address"]
2404pub struct TCD14_DADDR {
2405 register: VolatileCell<u32>,
2406}
2407#[doc = "TCD Destination Address"]
2408pub mod tcd14_daddr;
2409#[doc = "TCD Signed Destination Address Offset"]
2410pub struct TCD14_DOFF {
2411 register: VolatileCell<u16>,
2412}
2413#[doc = "TCD Signed Destination Address Offset"]
2414pub mod tcd14_doff;
2415#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2416pub struct TCD14_CITER_ELINKNO {
2417 register: VolatileCell<u16>,
2418}
2419#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2420pub mod tcd14_citer_elinkno;
2421#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2422pub struct TCD14_CITER_ELINKYES {
2423 register: VolatileCell<u16>,
2424}
2425#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2426pub mod tcd14_citer_elinkyes;
2427#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2428pub struct TCD14_DLASTSGA {
2429 register: VolatileCell<u32>,
2430}
2431#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2432pub mod tcd14_dlastsga;
2433#[doc = "TCD Control and Status"]
2434pub struct TCD14_CSR {
2435 register: VolatileCell<u16>,
2436}
2437#[doc = "TCD Control and Status"]
2438pub mod tcd14_csr;
2439#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2440pub struct TCD14_BITER_ELINKNO {
2441 register: VolatileCell<u16>,
2442}
2443#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2444pub mod tcd14_biter_elinkno;
2445#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2446pub struct TCD14_BITER_ELINKYES {
2447 register: VolatileCell<u16>,
2448}
2449#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2450pub mod tcd14_biter_elinkyes;
2451#[doc = "TCD Source Address"]
2452pub struct TCD15_SADDR {
2453 register: VolatileCell<u32>,
2454}
2455#[doc = "TCD Source Address"]
2456pub mod tcd15_saddr;
2457#[doc = "TCD Signed Source Address Offset"]
2458pub struct TCD15_SOFF {
2459 register: VolatileCell<u16>,
2460}
2461#[doc = "TCD Signed Source Address Offset"]
2462pub mod tcd15_soff;
2463#[doc = "TCD Transfer Attributes"]
2464pub struct TCD15_ATTR {
2465 register: VolatileCell<u16>,
2466}
2467#[doc = "TCD Transfer Attributes"]
2468pub mod tcd15_attr;
2469#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2470pub struct TCD15_NBYTES_MLNO {
2471 register: VolatileCell<u32>,
2472}
2473#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2474pub mod tcd15_nbytes_mlno;
2475#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2476pub struct TCD15_NBYTES_MLOFFNO {
2477 register: VolatileCell<u32>,
2478}
2479#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2480pub mod tcd15_nbytes_mloffno;
2481#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2482pub struct TCD15_NBYTES_MLOFFYES {
2483 register: VolatileCell<u32>,
2484}
2485#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2486pub mod tcd15_nbytes_mloffyes;
2487#[doc = "TCD Last Source Address Adjustment"]
2488pub struct TCD15_SLAST {
2489 register: VolatileCell<u32>,
2490}
2491#[doc = "TCD Last Source Address Adjustment"]
2492pub mod tcd15_slast;
2493#[doc = "TCD Destination Address"]
2494pub struct TCD15_DADDR {
2495 register: VolatileCell<u32>,
2496}
2497#[doc = "TCD Destination Address"]
2498pub mod tcd15_daddr;
2499#[doc = "TCD Signed Destination Address Offset"]
2500pub struct TCD15_DOFF {
2501 register: VolatileCell<u16>,
2502}
2503#[doc = "TCD Signed Destination Address Offset"]
2504pub mod tcd15_doff;
2505#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2506pub struct TCD15_CITER_ELINKNO {
2507 register: VolatileCell<u16>,
2508}
2509#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2510pub mod tcd15_citer_elinkno;
2511#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2512pub struct TCD15_CITER_ELINKYES {
2513 register: VolatileCell<u16>,
2514}
2515#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2516pub mod tcd15_citer_elinkyes;
2517#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2518pub struct TCD15_DLASTSGA {
2519 register: VolatileCell<u32>,
2520}
2521#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2522pub mod tcd15_dlastsga;
2523#[doc = "TCD Control and Status"]
2524pub struct TCD15_CSR {
2525 register: VolatileCell<u16>,
2526}
2527#[doc = "TCD Control and Status"]
2528pub mod tcd15_csr;
2529#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2530pub struct TCD15_BITER_ELINKNO {
2531 register: VolatileCell<u16>,
2532}
2533#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2534pub mod tcd15_biter_elinkno;
2535#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2536pub struct TCD15_BITER_ELINKYES {
2537 register: VolatileCell<u16>,
2538}
2539#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2540pub mod tcd15_biter_elinkyes;
2541#[doc = "TCD Source Address"]
2542pub struct TCD16_SADDR {
2543 register: VolatileCell<u32>,
2544}
2545#[doc = "TCD Source Address"]
2546pub mod tcd16_saddr;
2547#[doc = "TCD Signed Source Address Offset"]
2548pub struct TCD16_SOFF {
2549 register: VolatileCell<u16>,
2550}
2551#[doc = "TCD Signed Source Address Offset"]
2552pub mod tcd16_soff;
2553#[doc = "TCD Transfer Attributes"]
2554pub struct TCD16_ATTR {
2555 register: VolatileCell<u16>,
2556}
2557#[doc = "TCD Transfer Attributes"]
2558pub mod tcd16_attr;
2559#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2560pub struct TCD16_NBYTES_MLNO {
2561 register: VolatileCell<u32>,
2562}
2563#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2564pub mod tcd16_nbytes_mlno;
2565#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2566pub struct TCD16_NBYTES_MLOFFNO {
2567 register: VolatileCell<u32>,
2568}
2569#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2570pub mod tcd16_nbytes_mloffno;
2571#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2572pub struct TCD16_NBYTES_MLOFFYES {
2573 register: VolatileCell<u32>,
2574}
2575#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2576pub mod tcd16_nbytes_mloffyes;
2577#[doc = "TCD Last Source Address Adjustment"]
2578pub struct TCD16_SLAST {
2579 register: VolatileCell<u32>,
2580}
2581#[doc = "TCD Last Source Address Adjustment"]
2582pub mod tcd16_slast;
2583#[doc = "TCD Destination Address"]
2584pub struct TCD16_DADDR {
2585 register: VolatileCell<u32>,
2586}
2587#[doc = "TCD Destination Address"]
2588pub mod tcd16_daddr;
2589#[doc = "TCD Signed Destination Address Offset"]
2590pub struct TCD16_DOFF {
2591 register: VolatileCell<u16>,
2592}
2593#[doc = "TCD Signed Destination Address Offset"]
2594pub mod tcd16_doff;
2595#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2596pub struct TCD16_CITER_ELINKNO {
2597 register: VolatileCell<u16>,
2598}
2599#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2600pub mod tcd16_citer_elinkno;
2601#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2602pub struct TCD16_CITER_ELINKYES {
2603 register: VolatileCell<u16>,
2604}
2605#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2606pub mod tcd16_citer_elinkyes;
2607#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2608pub struct TCD16_DLASTSGA {
2609 register: VolatileCell<u32>,
2610}
2611#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2612pub mod tcd16_dlastsga;
2613#[doc = "TCD Control and Status"]
2614pub struct TCD16_CSR {
2615 register: VolatileCell<u16>,
2616}
2617#[doc = "TCD Control and Status"]
2618pub mod tcd16_csr;
2619#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2620pub struct TCD16_BITER_ELINKNO {
2621 register: VolatileCell<u16>,
2622}
2623#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2624pub mod tcd16_biter_elinkno;
2625#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2626pub struct TCD16_BITER_ELINKYES {
2627 register: VolatileCell<u16>,
2628}
2629#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2630pub mod tcd16_biter_elinkyes;
2631#[doc = "TCD Source Address"]
2632pub struct TCD17_SADDR {
2633 register: VolatileCell<u32>,
2634}
2635#[doc = "TCD Source Address"]
2636pub mod tcd17_saddr;
2637#[doc = "TCD Signed Source Address Offset"]
2638pub struct TCD17_SOFF {
2639 register: VolatileCell<u16>,
2640}
2641#[doc = "TCD Signed Source Address Offset"]
2642pub mod tcd17_soff;
2643#[doc = "TCD Transfer Attributes"]
2644pub struct TCD17_ATTR {
2645 register: VolatileCell<u16>,
2646}
2647#[doc = "TCD Transfer Attributes"]
2648pub mod tcd17_attr;
2649#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2650pub struct TCD17_NBYTES_MLNO {
2651 register: VolatileCell<u32>,
2652}
2653#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2654pub mod tcd17_nbytes_mlno;
2655#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2656pub struct TCD17_NBYTES_MLOFFNO {
2657 register: VolatileCell<u32>,
2658}
2659#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2660pub mod tcd17_nbytes_mloffno;
2661#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2662pub struct TCD17_NBYTES_MLOFFYES {
2663 register: VolatileCell<u32>,
2664}
2665#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2666pub mod tcd17_nbytes_mloffyes;
2667#[doc = "TCD Last Source Address Adjustment"]
2668pub struct TCD17_SLAST {
2669 register: VolatileCell<u32>,
2670}
2671#[doc = "TCD Last Source Address Adjustment"]
2672pub mod tcd17_slast;
2673#[doc = "TCD Destination Address"]
2674pub struct TCD17_DADDR {
2675 register: VolatileCell<u32>,
2676}
2677#[doc = "TCD Destination Address"]
2678pub mod tcd17_daddr;
2679#[doc = "TCD Signed Destination Address Offset"]
2680pub struct TCD17_DOFF {
2681 register: VolatileCell<u16>,
2682}
2683#[doc = "TCD Signed Destination Address Offset"]
2684pub mod tcd17_doff;
2685#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2686pub struct TCD17_CITER_ELINKNO {
2687 register: VolatileCell<u16>,
2688}
2689#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2690pub mod tcd17_citer_elinkno;
2691#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2692pub struct TCD17_CITER_ELINKYES {
2693 register: VolatileCell<u16>,
2694}
2695#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2696pub mod tcd17_citer_elinkyes;
2697#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2698pub struct TCD17_DLASTSGA {
2699 register: VolatileCell<u32>,
2700}
2701#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2702pub mod tcd17_dlastsga;
2703#[doc = "TCD Control and Status"]
2704pub struct TCD17_CSR {
2705 register: VolatileCell<u16>,
2706}
2707#[doc = "TCD Control and Status"]
2708pub mod tcd17_csr;
2709#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2710pub struct TCD17_BITER_ELINKNO {
2711 register: VolatileCell<u16>,
2712}
2713#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2714pub mod tcd17_biter_elinkno;
2715#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2716pub struct TCD17_BITER_ELINKYES {
2717 register: VolatileCell<u16>,
2718}
2719#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2720pub mod tcd17_biter_elinkyes;
2721#[doc = "TCD Source Address"]
2722pub struct TCD18_SADDR {
2723 register: VolatileCell<u32>,
2724}
2725#[doc = "TCD Source Address"]
2726pub mod tcd18_saddr;
2727#[doc = "TCD Signed Source Address Offset"]
2728pub struct TCD18_SOFF {
2729 register: VolatileCell<u16>,
2730}
2731#[doc = "TCD Signed Source Address Offset"]
2732pub mod tcd18_soff;
2733#[doc = "TCD Transfer Attributes"]
2734pub struct TCD18_ATTR {
2735 register: VolatileCell<u16>,
2736}
2737#[doc = "TCD Transfer Attributes"]
2738pub mod tcd18_attr;
2739#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2740pub struct TCD18_NBYTES_MLNO {
2741 register: VolatileCell<u32>,
2742}
2743#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2744pub mod tcd18_nbytes_mlno;
2745#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2746pub struct TCD18_NBYTES_MLOFFNO {
2747 register: VolatileCell<u32>,
2748}
2749#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2750pub mod tcd18_nbytes_mloffno;
2751#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2752pub struct TCD18_NBYTES_MLOFFYES {
2753 register: VolatileCell<u32>,
2754}
2755#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2756pub mod tcd18_nbytes_mloffyes;
2757#[doc = "TCD Last Source Address Adjustment"]
2758pub struct TCD18_SLAST {
2759 register: VolatileCell<u32>,
2760}
2761#[doc = "TCD Last Source Address Adjustment"]
2762pub mod tcd18_slast;
2763#[doc = "TCD Destination Address"]
2764pub struct TCD18_DADDR {
2765 register: VolatileCell<u32>,
2766}
2767#[doc = "TCD Destination Address"]
2768pub mod tcd18_daddr;
2769#[doc = "TCD Signed Destination Address Offset"]
2770pub struct TCD18_DOFF {
2771 register: VolatileCell<u16>,
2772}
2773#[doc = "TCD Signed Destination Address Offset"]
2774pub mod tcd18_doff;
2775#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2776pub struct TCD18_CITER_ELINKNO {
2777 register: VolatileCell<u16>,
2778}
2779#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2780pub mod tcd18_citer_elinkno;
2781#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2782pub struct TCD18_CITER_ELINKYES {
2783 register: VolatileCell<u16>,
2784}
2785#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2786pub mod tcd18_citer_elinkyes;
2787#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2788pub struct TCD18_DLASTSGA {
2789 register: VolatileCell<u32>,
2790}
2791#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2792pub mod tcd18_dlastsga;
2793#[doc = "TCD Control and Status"]
2794pub struct TCD18_CSR {
2795 register: VolatileCell<u16>,
2796}
2797#[doc = "TCD Control and Status"]
2798pub mod tcd18_csr;
2799#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2800pub struct TCD18_BITER_ELINKNO {
2801 register: VolatileCell<u16>,
2802}
2803#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2804pub mod tcd18_biter_elinkno;
2805#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2806pub struct TCD18_BITER_ELINKYES {
2807 register: VolatileCell<u16>,
2808}
2809#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2810pub mod tcd18_biter_elinkyes;
2811#[doc = "TCD Source Address"]
2812pub struct TCD19_SADDR {
2813 register: VolatileCell<u32>,
2814}
2815#[doc = "TCD Source Address"]
2816pub mod tcd19_saddr;
2817#[doc = "TCD Signed Source Address Offset"]
2818pub struct TCD19_SOFF {
2819 register: VolatileCell<u16>,
2820}
2821#[doc = "TCD Signed Source Address Offset"]
2822pub mod tcd19_soff;
2823#[doc = "TCD Transfer Attributes"]
2824pub struct TCD19_ATTR {
2825 register: VolatileCell<u16>,
2826}
2827#[doc = "TCD Transfer Attributes"]
2828pub mod tcd19_attr;
2829#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2830pub struct TCD19_NBYTES_MLNO {
2831 register: VolatileCell<u32>,
2832}
2833#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2834pub mod tcd19_nbytes_mlno;
2835#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2836pub struct TCD19_NBYTES_MLOFFNO {
2837 register: VolatileCell<u32>,
2838}
2839#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2840pub mod tcd19_nbytes_mloffno;
2841#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2842pub struct TCD19_NBYTES_MLOFFYES {
2843 register: VolatileCell<u32>,
2844}
2845#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2846pub mod tcd19_nbytes_mloffyes;
2847#[doc = "TCD Last Source Address Adjustment"]
2848pub struct TCD19_SLAST {
2849 register: VolatileCell<u32>,
2850}
2851#[doc = "TCD Last Source Address Adjustment"]
2852pub mod tcd19_slast;
2853#[doc = "TCD Destination Address"]
2854pub struct TCD19_DADDR {
2855 register: VolatileCell<u32>,
2856}
2857#[doc = "TCD Destination Address"]
2858pub mod tcd19_daddr;
2859#[doc = "TCD Signed Destination Address Offset"]
2860pub struct TCD19_DOFF {
2861 register: VolatileCell<u16>,
2862}
2863#[doc = "TCD Signed Destination Address Offset"]
2864pub mod tcd19_doff;
2865#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2866pub struct TCD19_CITER_ELINKNO {
2867 register: VolatileCell<u16>,
2868}
2869#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2870pub mod tcd19_citer_elinkno;
2871#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2872pub struct TCD19_CITER_ELINKYES {
2873 register: VolatileCell<u16>,
2874}
2875#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2876pub mod tcd19_citer_elinkyes;
2877#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2878pub struct TCD19_DLASTSGA {
2879 register: VolatileCell<u32>,
2880}
2881#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2882pub mod tcd19_dlastsga;
2883#[doc = "TCD Control and Status"]
2884pub struct TCD19_CSR {
2885 register: VolatileCell<u16>,
2886}
2887#[doc = "TCD Control and Status"]
2888pub mod tcd19_csr;
2889#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2890pub struct TCD19_BITER_ELINKNO {
2891 register: VolatileCell<u16>,
2892}
2893#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2894pub mod tcd19_biter_elinkno;
2895#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2896pub struct TCD19_BITER_ELINKYES {
2897 register: VolatileCell<u16>,
2898}
2899#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2900pub mod tcd19_biter_elinkyes;
2901#[doc = "TCD Source Address"]
2902pub struct TCD20_SADDR {
2903 register: VolatileCell<u32>,
2904}
2905#[doc = "TCD Source Address"]
2906pub mod tcd20_saddr;
2907#[doc = "TCD Signed Source Address Offset"]
2908pub struct TCD20_SOFF {
2909 register: VolatileCell<u16>,
2910}
2911#[doc = "TCD Signed Source Address Offset"]
2912pub mod tcd20_soff;
2913#[doc = "TCD Transfer Attributes"]
2914pub struct TCD20_ATTR {
2915 register: VolatileCell<u16>,
2916}
2917#[doc = "TCD Transfer Attributes"]
2918pub mod tcd20_attr;
2919#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2920pub struct TCD20_NBYTES_MLNO {
2921 register: VolatileCell<u32>,
2922}
2923#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
2924pub mod tcd20_nbytes_mlno;
2925#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2926pub struct TCD20_NBYTES_MLOFFNO {
2927 register: VolatileCell<u32>,
2928}
2929#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
2930pub mod tcd20_nbytes_mloffno;
2931#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2932pub struct TCD20_NBYTES_MLOFFYES {
2933 register: VolatileCell<u32>,
2934}
2935#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
2936pub mod tcd20_nbytes_mloffyes;
2937#[doc = "TCD Last Source Address Adjustment"]
2938pub struct TCD20_SLAST {
2939 register: VolatileCell<u32>,
2940}
2941#[doc = "TCD Last Source Address Adjustment"]
2942pub mod tcd20_slast;
2943#[doc = "TCD Destination Address"]
2944pub struct TCD20_DADDR {
2945 register: VolatileCell<u32>,
2946}
2947#[doc = "TCD Destination Address"]
2948pub mod tcd20_daddr;
2949#[doc = "TCD Signed Destination Address Offset"]
2950pub struct TCD20_DOFF {
2951 register: VolatileCell<u16>,
2952}
2953#[doc = "TCD Signed Destination Address Offset"]
2954pub mod tcd20_doff;
2955#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2956pub struct TCD20_CITER_ELINKNO {
2957 register: VolatileCell<u16>,
2958}
2959#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2960pub mod tcd20_citer_elinkno;
2961#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2962pub struct TCD20_CITER_ELINKYES {
2963 register: VolatileCell<u16>,
2964}
2965#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2966pub mod tcd20_citer_elinkyes;
2967#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2968pub struct TCD20_DLASTSGA {
2969 register: VolatileCell<u32>,
2970}
2971#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
2972pub mod tcd20_dlastsga;
2973#[doc = "TCD Control and Status"]
2974pub struct TCD20_CSR {
2975 register: VolatileCell<u16>,
2976}
2977#[doc = "TCD Control and Status"]
2978pub mod tcd20_csr;
2979#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2980pub struct TCD20_BITER_ELINKNO {
2981 register: VolatileCell<u16>,
2982}
2983#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
2984pub mod tcd20_biter_elinkno;
2985#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2986pub struct TCD20_BITER_ELINKYES {
2987 register: VolatileCell<u16>,
2988}
2989#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
2990pub mod tcd20_biter_elinkyes;
2991#[doc = "TCD Source Address"]
2992pub struct TCD21_SADDR {
2993 register: VolatileCell<u32>,
2994}
2995#[doc = "TCD Source Address"]
2996pub mod tcd21_saddr;
2997#[doc = "TCD Signed Source Address Offset"]
2998pub struct TCD21_SOFF {
2999 register: VolatileCell<u16>,
3000}
3001#[doc = "TCD Signed Source Address Offset"]
3002pub mod tcd21_soff;
3003#[doc = "TCD Transfer Attributes"]
3004pub struct TCD21_ATTR {
3005 register: VolatileCell<u16>,
3006}
3007#[doc = "TCD Transfer Attributes"]
3008pub mod tcd21_attr;
3009#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3010pub struct TCD21_NBYTES_MLNO {
3011 register: VolatileCell<u32>,
3012}
3013#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3014pub mod tcd21_nbytes_mlno;
3015#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3016pub struct TCD21_NBYTES_MLOFFNO {
3017 register: VolatileCell<u32>,
3018}
3019#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3020pub mod tcd21_nbytes_mloffno;
3021#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3022pub struct TCD21_NBYTES_MLOFFYES {
3023 register: VolatileCell<u32>,
3024}
3025#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3026pub mod tcd21_nbytes_mloffyes;
3027#[doc = "TCD Last Source Address Adjustment"]
3028pub struct TCD21_SLAST {
3029 register: VolatileCell<u32>,
3030}
3031#[doc = "TCD Last Source Address Adjustment"]
3032pub mod tcd21_slast;
3033#[doc = "TCD Destination Address"]
3034pub struct TCD21_DADDR {
3035 register: VolatileCell<u32>,
3036}
3037#[doc = "TCD Destination Address"]
3038pub mod tcd21_daddr;
3039#[doc = "TCD Signed Destination Address Offset"]
3040pub struct TCD21_DOFF {
3041 register: VolatileCell<u16>,
3042}
3043#[doc = "TCD Signed Destination Address Offset"]
3044pub mod tcd21_doff;
3045#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3046pub struct TCD21_CITER_ELINKNO {
3047 register: VolatileCell<u16>,
3048}
3049#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3050pub mod tcd21_citer_elinkno;
3051#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3052pub struct TCD21_CITER_ELINKYES {
3053 register: VolatileCell<u16>,
3054}
3055#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3056pub mod tcd21_citer_elinkyes;
3057#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3058pub struct TCD21_DLASTSGA {
3059 register: VolatileCell<u32>,
3060}
3061#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3062pub mod tcd21_dlastsga;
3063#[doc = "TCD Control and Status"]
3064pub struct TCD21_CSR {
3065 register: VolatileCell<u16>,
3066}
3067#[doc = "TCD Control and Status"]
3068pub mod tcd21_csr;
3069#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3070pub struct TCD21_BITER_ELINKNO {
3071 register: VolatileCell<u16>,
3072}
3073#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3074pub mod tcd21_biter_elinkno;
3075#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3076pub struct TCD21_BITER_ELINKYES {
3077 register: VolatileCell<u16>,
3078}
3079#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3080pub mod tcd21_biter_elinkyes;
3081#[doc = "TCD Source Address"]
3082pub struct TCD22_SADDR {
3083 register: VolatileCell<u32>,
3084}
3085#[doc = "TCD Source Address"]
3086pub mod tcd22_saddr;
3087#[doc = "TCD Signed Source Address Offset"]
3088pub struct TCD22_SOFF {
3089 register: VolatileCell<u16>,
3090}
3091#[doc = "TCD Signed Source Address Offset"]
3092pub mod tcd22_soff;
3093#[doc = "TCD Transfer Attributes"]
3094pub struct TCD22_ATTR {
3095 register: VolatileCell<u16>,
3096}
3097#[doc = "TCD Transfer Attributes"]
3098pub mod tcd22_attr;
3099#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3100pub struct TCD22_NBYTES_MLNO {
3101 register: VolatileCell<u32>,
3102}
3103#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3104pub mod tcd22_nbytes_mlno;
3105#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3106pub struct TCD22_NBYTES_MLOFFNO {
3107 register: VolatileCell<u32>,
3108}
3109#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3110pub mod tcd22_nbytes_mloffno;
3111#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3112pub struct TCD22_NBYTES_MLOFFYES {
3113 register: VolatileCell<u32>,
3114}
3115#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3116pub mod tcd22_nbytes_mloffyes;
3117#[doc = "TCD Last Source Address Adjustment"]
3118pub struct TCD22_SLAST {
3119 register: VolatileCell<u32>,
3120}
3121#[doc = "TCD Last Source Address Adjustment"]
3122pub mod tcd22_slast;
3123#[doc = "TCD Destination Address"]
3124pub struct TCD22_DADDR {
3125 register: VolatileCell<u32>,
3126}
3127#[doc = "TCD Destination Address"]
3128pub mod tcd22_daddr;
3129#[doc = "TCD Signed Destination Address Offset"]
3130pub struct TCD22_DOFF {
3131 register: VolatileCell<u16>,
3132}
3133#[doc = "TCD Signed Destination Address Offset"]
3134pub mod tcd22_doff;
3135#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3136pub struct TCD22_CITER_ELINKNO {
3137 register: VolatileCell<u16>,
3138}
3139#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3140pub mod tcd22_citer_elinkno;
3141#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3142pub struct TCD22_CITER_ELINKYES {
3143 register: VolatileCell<u16>,
3144}
3145#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3146pub mod tcd22_citer_elinkyes;
3147#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3148pub struct TCD22_DLASTSGA {
3149 register: VolatileCell<u32>,
3150}
3151#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3152pub mod tcd22_dlastsga;
3153#[doc = "TCD Control and Status"]
3154pub struct TCD22_CSR {
3155 register: VolatileCell<u16>,
3156}
3157#[doc = "TCD Control and Status"]
3158pub mod tcd22_csr;
3159#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3160pub struct TCD22_BITER_ELINKNO {
3161 register: VolatileCell<u16>,
3162}
3163#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3164pub mod tcd22_biter_elinkno;
3165#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3166pub struct TCD22_BITER_ELINKYES {
3167 register: VolatileCell<u16>,
3168}
3169#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3170pub mod tcd22_biter_elinkyes;
3171#[doc = "TCD Source Address"]
3172pub struct TCD23_SADDR {
3173 register: VolatileCell<u32>,
3174}
3175#[doc = "TCD Source Address"]
3176pub mod tcd23_saddr;
3177#[doc = "TCD Signed Source Address Offset"]
3178pub struct TCD23_SOFF {
3179 register: VolatileCell<u16>,
3180}
3181#[doc = "TCD Signed Source Address Offset"]
3182pub mod tcd23_soff;
3183#[doc = "TCD Transfer Attributes"]
3184pub struct TCD23_ATTR {
3185 register: VolatileCell<u16>,
3186}
3187#[doc = "TCD Transfer Attributes"]
3188pub mod tcd23_attr;
3189#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3190pub struct TCD23_NBYTES_MLNO {
3191 register: VolatileCell<u32>,
3192}
3193#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3194pub mod tcd23_nbytes_mlno;
3195#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3196pub struct TCD23_NBYTES_MLOFFNO {
3197 register: VolatileCell<u32>,
3198}
3199#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3200pub mod tcd23_nbytes_mloffno;
3201#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3202pub struct TCD23_NBYTES_MLOFFYES {
3203 register: VolatileCell<u32>,
3204}
3205#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3206pub mod tcd23_nbytes_mloffyes;
3207#[doc = "TCD Last Source Address Adjustment"]
3208pub struct TCD23_SLAST {
3209 register: VolatileCell<u32>,
3210}
3211#[doc = "TCD Last Source Address Adjustment"]
3212pub mod tcd23_slast;
3213#[doc = "TCD Destination Address"]
3214pub struct TCD23_DADDR {
3215 register: VolatileCell<u32>,
3216}
3217#[doc = "TCD Destination Address"]
3218pub mod tcd23_daddr;
3219#[doc = "TCD Signed Destination Address Offset"]
3220pub struct TCD23_DOFF {
3221 register: VolatileCell<u16>,
3222}
3223#[doc = "TCD Signed Destination Address Offset"]
3224pub mod tcd23_doff;
3225#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3226pub struct TCD23_CITER_ELINKNO {
3227 register: VolatileCell<u16>,
3228}
3229#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3230pub mod tcd23_citer_elinkno;
3231#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3232pub struct TCD23_CITER_ELINKYES {
3233 register: VolatileCell<u16>,
3234}
3235#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3236pub mod tcd23_citer_elinkyes;
3237#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3238pub struct TCD23_DLASTSGA {
3239 register: VolatileCell<u32>,
3240}
3241#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3242pub mod tcd23_dlastsga;
3243#[doc = "TCD Control and Status"]
3244pub struct TCD23_CSR {
3245 register: VolatileCell<u16>,
3246}
3247#[doc = "TCD Control and Status"]
3248pub mod tcd23_csr;
3249#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3250pub struct TCD23_BITER_ELINKNO {
3251 register: VolatileCell<u16>,
3252}
3253#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3254pub mod tcd23_biter_elinkno;
3255#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3256pub struct TCD23_BITER_ELINKYES {
3257 register: VolatileCell<u16>,
3258}
3259#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3260pub mod tcd23_biter_elinkyes;
3261#[doc = "TCD Source Address"]
3262pub struct TCD24_SADDR {
3263 register: VolatileCell<u32>,
3264}
3265#[doc = "TCD Source Address"]
3266pub mod tcd24_saddr;
3267#[doc = "TCD Signed Source Address Offset"]
3268pub struct TCD24_SOFF {
3269 register: VolatileCell<u16>,
3270}
3271#[doc = "TCD Signed Source Address Offset"]
3272pub mod tcd24_soff;
3273#[doc = "TCD Transfer Attributes"]
3274pub struct TCD24_ATTR {
3275 register: VolatileCell<u16>,
3276}
3277#[doc = "TCD Transfer Attributes"]
3278pub mod tcd24_attr;
3279#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3280pub struct TCD24_NBYTES_MLNO {
3281 register: VolatileCell<u32>,
3282}
3283#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3284pub mod tcd24_nbytes_mlno;
3285#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3286pub struct TCD24_NBYTES_MLOFFNO {
3287 register: VolatileCell<u32>,
3288}
3289#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3290pub mod tcd24_nbytes_mloffno;
3291#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3292pub struct TCD24_NBYTES_MLOFFYES {
3293 register: VolatileCell<u32>,
3294}
3295#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3296pub mod tcd24_nbytes_mloffyes;
3297#[doc = "TCD Last Source Address Adjustment"]
3298pub struct TCD24_SLAST {
3299 register: VolatileCell<u32>,
3300}
3301#[doc = "TCD Last Source Address Adjustment"]
3302pub mod tcd24_slast;
3303#[doc = "TCD Destination Address"]
3304pub struct TCD24_DADDR {
3305 register: VolatileCell<u32>,
3306}
3307#[doc = "TCD Destination Address"]
3308pub mod tcd24_daddr;
3309#[doc = "TCD Signed Destination Address Offset"]
3310pub struct TCD24_DOFF {
3311 register: VolatileCell<u16>,
3312}
3313#[doc = "TCD Signed Destination Address Offset"]
3314pub mod tcd24_doff;
3315#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3316pub struct TCD24_CITER_ELINKNO {
3317 register: VolatileCell<u16>,
3318}
3319#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3320pub mod tcd24_citer_elinkno;
3321#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3322pub struct TCD24_CITER_ELINKYES {
3323 register: VolatileCell<u16>,
3324}
3325#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3326pub mod tcd24_citer_elinkyes;
3327#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3328pub struct TCD24_DLASTSGA {
3329 register: VolatileCell<u32>,
3330}
3331#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3332pub mod tcd24_dlastsga;
3333#[doc = "TCD Control and Status"]
3334pub struct TCD24_CSR {
3335 register: VolatileCell<u16>,
3336}
3337#[doc = "TCD Control and Status"]
3338pub mod tcd24_csr;
3339#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3340pub struct TCD24_BITER_ELINKNO {
3341 register: VolatileCell<u16>,
3342}
3343#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3344pub mod tcd24_biter_elinkno;
3345#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3346pub struct TCD24_BITER_ELINKYES {
3347 register: VolatileCell<u16>,
3348}
3349#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3350pub mod tcd24_biter_elinkyes;
3351#[doc = "TCD Source Address"]
3352pub struct TCD25_SADDR {
3353 register: VolatileCell<u32>,
3354}
3355#[doc = "TCD Source Address"]
3356pub mod tcd25_saddr;
3357#[doc = "TCD Signed Source Address Offset"]
3358pub struct TCD25_SOFF {
3359 register: VolatileCell<u16>,
3360}
3361#[doc = "TCD Signed Source Address Offset"]
3362pub mod tcd25_soff;
3363#[doc = "TCD Transfer Attributes"]
3364pub struct TCD25_ATTR {
3365 register: VolatileCell<u16>,
3366}
3367#[doc = "TCD Transfer Attributes"]
3368pub mod tcd25_attr;
3369#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3370pub struct TCD25_NBYTES_MLNO {
3371 register: VolatileCell<u32>,
3372}
3373#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3374pub mod tcd25_nbytes_mlno;
3375#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3376pub struct TCD25_NBYTES_MLOFFNO {
3377 register: VolatileCell<u32>,
3378}
3379#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3380pub mod tcd25_nbytes_mloffno;
3381#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3382pub struct TCD25_NBYTES_MLOFFYES {
3383 register: VolatileCell<u32>,
3384}
3385#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3386pub mod tcd25_nbytes_mloffyes;
3387#[doc = "TCD Last Source Address Adjustment"]
3388pub struct TCD25_SLAST {
3389 register: VolatileCell<u32>,
3390}
3391#[doc = "TCD Last Source Address Adjustment"]
3392pub mod tcd25_slast;
3393#[doc = "TCD Destination Address"]
3394pub struct TCD25_DADDR {
3395 register: VolatileCell<u32>,
3396}
3397#[doc = "TCD Destination Address"]
3398pub mod tcd25_daddr;
3399#[doc = "TCD Signed Destination Address Offset"]
3400pub struct TCD25_DOFF {
3401 register: VolatileCell<u16>,
3402}
3403#[doc = "TCD Signed Destination Address Offset"]
3404pub mod tcd25_doff;
3405#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3406pub struct TCD25_CITER_ELINKNO {
3407 register: VolatileCell<u16>,
3408}
3409#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3410pub mod tcd25_citer_elinkno;
3411#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3412pub struct TCD25_CITER_ELINKYES {
3413 register: VolatileCell<u16>,
3414}
3415#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3416pub mod tcd25_citer_elinkyes;
3417#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3418pub struct TCD25_DLASTSGA {
3419 register: VolatileCell<u32>,
3420}
3421#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3422pub mod tcd25_dlastsga;
3423#[doc = "TCD Control and Status"]
3424pub struct TCD25_CSR {
3425 register: VolatileCell<u16>,
3426}
3427#[doc = "TCD Control and Status"]
3428pub mod tcd25_csr;
3429#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3430pub struct TCD25_BITER_ELINKNO {
3431 register: VolatileCell<u16>,
3432}
3433#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3434pub mod tcd25_biter_elinkno;
3435#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3436pub struct TCD25_BITER_ELINKYES {
3437 register: VolatileCell<u16>,
3438}
3439#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3440pub mod tcd25_biter_elinkyes;
3441#[doc = "TCD Source Address"]
3442pub struct TCD26_SADDR {
3443 register: VolatileCell<u32>,
3444}
3445#[doc = "TCD Source Address"]
3446pub mod tcd26_saddr;
3447#[doc = "TCD Signed Source Address Offset"]
3448pub struct TCD26_SOFF {
3449 register: VolatileCell<u16>,
3450}
3451#[doc = "TCD Signed Source Address Offset"]
3452pub mod tcd26_soff;
3453#[doc = "TCD Transfer Attributes"]
3454pub struct TCD26_ATTR {
3455 register: VolatileCell<u16>,
3456}
3457#[doc = "TCD Transfer Attributes"]
3458pub mod tcd26_attr;
3459#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3460pub struct TCD26_NBYTES_MLNO {
3461 register: VolatileCell<u32>,
3462}
3463#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3464pub mod tcd26_nbytes_mlno;
3465#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3466pub struct TCD26_NBYTES_MLOFFNO {
3467 register: VolatileCell<u32>,
3468}
3469#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3470pub mod tcd26_nbytes_mloffno;
3471#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3472pub struct TCD26_NBYTES_MLOFFYES {
3473 register: VolatileCell<u32>,
3474}
3475#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3476pub mod tcd26_nbytes_mloffyes;
3477#[doc = "TCD Last Source Address Adjustment"]
3478pub struct TCD26_SLAST {
3479 register: VolatileCell<u32>,
3480}
3481#[doc = "TCD Last Source Address Adjustment"]
3482pub mod tcd26_slast;
3483#[doc = "TCD Destination Address"]
3484pub struct TCD26_DADDR {
3485 register: VolatileCell<u32>,
3486}
3487#[doc = "TCD Destination Address"]
3488pub mod tcd26_daddr;
3489#[doc = "TCD Signed Destination Address Offset"]
3490pub struct TCD26_DOFF {
3491 register: VolatileCell<u16>,
3492}
3493#[doc = "TCD Signed Destination Address Offset"]
3494pub mod tcd26_doff;
3495#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3496pub struct TCD26_CITER_ELINKNO {
3497 register: VolatileCell<u16>,
3498}
3499#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3500pub mod tcd26_citer_elinkno;
3501#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3502pub struct TCD26_CITER_ELINKYES {
3503 register: VolatileCell<u16>,
3504}
3505#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3506pub mod tcd26_citer_elinkyes;
3507#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3508pub struct TCD26_DLASTSGA {
3509 register: VolatileCell<u32>,
3510}
3511#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3512pub mod tcd26_dlastsga;
3513#[doc = "TCD Control and Status"]
3514pub struct TCD26_CSR {
3515 register: VolatileCell<u16>,
3516}
3517#[doc = "TCD Control and Status"]
3518pub mod tcd26_csr;
3519#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3520pub struct TCD26_BITER_ELINKNO {
3521 register: VolatileCell<u16>,
3522}
3523#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3524pub mod tcd26_biter_elinkno;
3525#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3526pub struct TCD26_BITER_ELINKYES {
3527 register: VolatileCell<u16>,
3528}
3529#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3530pub mod tcd26_biter_elinkyes;
3531#[doc = "TCD Source Address"]
3532pub struct TCD27_SADDR {
3533 register: VolatileCell<u32>,
3534}
3535#[doc = "TCD Source Address"]
3536pub mod tcd27_saddr;
3537#[doc = "TCD Signed Source Address Offset"]
3538pub struct TCD27_SOFF {
3539 register: VolatileCell<u16>,
3540}
3541#[doc = "TCD Signed Source Address Offset"]
3542pub mod tcd27_soff;
3543#[doc = "TCD Transfer Attributes"]
3544pub struct TCD27_ATTR {
3545 register: VolatileCell<u16>,
3546}
3547#[doc = "TCD Transfer Attributes"]
3548pub mod tcd27_attr;
3549#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3550pub struct TCD27_NBYTES_MLNO {
3551 register: VolatileCell<u32>,
3552}
3553#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3554pub mod tcd27_nbytes_mlno;
3555#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3556pub struct TCD27_NBYTES_MLOFFNO {
3557 register: VolatileCell<u32>,
3558}
3559#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3560pub mod tcd27_nbytes_mloffno;
3561#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3562pub struct TCD27_NBYTES_MLOFFYES {
3563 register: VolatileCell<u32>,
3564}
3565#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3566pub mod tcd27_nbytes_mloffyes;
3567#[doc = "TCD Last Source Address Adjustment"]
3568pub struct TCD27_SLAST {
3569 register: VolatileCell<u32>,
3570}
3571#[doc = "TCD Last Source Address Adjustment"]
3572pub mod tcd27_slast;
3573#[doc = "TCD Destination Address"]
3574pub struct TCD27_DADDR {
3575 register: VolatileCell<u32>,
3576}
3577#[doc = "TCD Destination Address"]
3578pub mod tcd27_daddr;
3579#[doc = "TCD Signed Destination Address Offset"]
3580pub struct TCD27_DOFF {
3581 register: VolatileCell<u16>,
3582}
3583#[doc = "TCD Signed Destination Address Offset"]
3584pub mod tcd27_doff;
3585#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3586pub struct TCD27_CITER_ELINKNO {
3587 register: VolatileCell<u16>,
3588}
3589#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3590pub mod tcd27_citer_elinkno;
3591#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3592pub struct TCD27_CITER_ELINKYES {
3593 register: VolatileCell<u16>,
3594}
3595#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3596pub mod tcd27_citer_elinkyes;
3597#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3598pub struct TCD27_DLASTSGA {
3599 register: VolatileCell<u32>,
3600}
3601#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3602pub mod tcd27_dlastsga;
3603#[doc = "TCD Control and Status"]
3604pub struct TCD27_CSR {
3605 register: VolatileCell<u16>,
3606}
3607#[doc = "TCD Control and Status"]
3608pub mod tcd27_csr;
3609#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3610pub struct TCD27_BITER_ELINKNO {
3611 register: VolatileCell<u16>,
3612}
3613#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3614pub mod tcd27_biter_elinkno;
3615#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3616pub struct TCD27_BITER_ELINKYES {
3617 register: VolatileCell<u16>,
3618}
3619#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3620pub mod tcd27_biter_elinkyes;
3621#[doc = "TCD Source Address"]
3622pub struct TCD28_SADDR {
3623 register: VolatileCell<u32>,
3624}
3625#[doc = "TCD Source Address"]
3626pub mod tcd28_saddr;
3627#[doc = "TCD Signed Source Address Offset"]
3628pub struct TCD28_SOFF {
3629 register: VolatileCell<u16>,
3630}
3631#[doc = "TCD Signed Source Address Offset"]
3632pub mod tcd28_soff;
3633#[doc = "TCD Transfer Attributes"]
3634pub struct TCD28_ATTR {
3635 register: VolatileCell<u16>,
3636}
3637#[doc = "TCD Transfer Attributes"]
3638pub mod tcd28_attr;
3639#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3640pub struct TCD28_NBYTES_MLNO {
3641 register: VolatileCell<u32>,
3642}
3643#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3644pub mod tcd28_nbytes_mlno;
3645#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3646pub struct TCD28_NBYTES_MLOFFNO {
3647 register: VolatileCell<u32>,
3648}
3649#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3650pub mod tcd28_nbytes_mloffno;
3651#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3652pub struct TCD28_NBYTES_MLOFFYES {
3653 register: VolatileCell<u32>,
3654}
3655#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3656pub mod tcd28_nbytes_mloffyes;
3657#[doc = "TCD Last Source Address Adjustment"]
3658pub struct TCD28_SLAST {
3659 register: VolatileCell<u32>,
3660}
3661#[doc = "TCD Last Source Address Adjustment"]
3662pub mod tcd28_slast;
3663#[doc = "TCD Destination Address"]
3664pub struct TCD28_DADDR {
3665 register: VolatileCell<u32>,
3666}
3667#[doc = "TCD Destination Address"]
3668pub mod tcd28_daddr;
3669#[doc = "TCD Signed Destination Address Offset"]
3670pub struct TCD28_DOFF {
3671 register: VolatileCell<u16>,
3672}
3673#[doc = "TCD Signed Destination Address Offset"]
3674pub mod tcd28_doff;
3675#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3676pub struct TCD28_CITER_ELINKNO {
3677 register: VolatileCell<u16>,
3678}
3679#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3680pub mod tcd28_citer_elinkno;
3681#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3682pub struct TCD28_CITER_ELINKYES {
3683 register: VolatileCell<u16>,
3684}
3685#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3686pub mod tcd28_citer_elinkyes;
3687#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3688pub struct TCD28_DLASTSGA {
3689 register: VolatileCell<u32>,
3690}
3691#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3692pub mod tcd28_dlastsga;
3693#[doc = "TCD Control and Status"]
3694pub struct TCD28_CSR {
3695 register: VolatileCell<u16>,
3696}
3697#[doc = "TCD Control and Status"]
3698pub mod tcd28_csr;
3699#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3700pub struct TCD28_BITER_ELINKNO {
3701 register: VolatileCell<u16>,
3702}
3703#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3704pub mod tcd28_biter_elinkno;
3705#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3706pub struct TCD28_BITER_ELINKYES {
3707 register: VolatileCell<u16>,
3708}
3709#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3710pub mod tcd28_biter_elinkyes;
3711#[doc = "TCD Source Address"]
3712pub struct TCD29_SADDR {
3713 register: VolatileCell<u32>,
3714}
3715#[doc = "TCD Source Address"]
3716pub mod tcd29_saddr;
3717#[doc = "TCD Signed Source Address Offset"]
3718pub struct TCD29_SOFF {
3719 register: VolatileCell<u16>,
3720}
3721#[doc = "TCD Signed Source Address Offset"]
3722pub mod tcd29_soff;
3723#[doc = "TCD Transfer Attributes"]
3724pub struct TCD29_ATTR {
3725 register: VolatileCell<u16>,
3726}
3727#[doc = "TCD Transfer Attributes"]
3728pub mod tcd29_attr;
3729#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3730pub struct TCD29_NBYTES_MLNO {
3731 register: VolatileCell<u32>,
3732}
3733#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3734pub mod tcd29_nbytes_mlno;
3735#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3736pub struct TCD29_NBYTES_MLOFFNO {
3737 register: VolatileCell<u32>,
3738}
3739#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3740pub mod tcd29_nbytes_mloffno;
3741#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3742pub struct TCD29_NBYTES_MLOFFYES {
3743 register: VolatileCell<u32>,
3744}
3745#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3746pub mod tcd29_nbytes_mloffyes;
3747#[doc = "TCD Last Source Address Adjustment"]
3748pub struct TCD29_SLAST {
3749 register: VolatileCell<u32>,
3750}
3751#[doc = "TCD Last Source Address Adjustment"]
3752pub mod tcd29_slast;
3753#[doc = "TCD Destination Address"]
3754pub struct TCD29_DADDR {
3755 register: VolatileCell<u32>,
3756}
3757#[doc = "TCD Destination Address"]
3758pub mod tcd29_daddr;
3759#[doc = "TCD Signed Destination Address Offset"]
3760pub struct TCD29_DOFF {
3761 register: VolatileCell<u16>,
3762}
3763#[doc = "TCD Signed Destination Address Offset"]
3764pub mod tcd29_doff;
3765#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3766pub struct TCD29_CITER_ELINKNO {
3767 register: VolatileCell<u16>,
3768}
3769#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3770pub mod tcd29_citer_elinkno;
3771#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3772pub struct TCD29_CITER_ELINKYES {
3773 register: VolatileCell<u16>,
3774}
3775#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3776pub mod tcd29_citer_elinkyes;
3777#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3778pub struct TCD29_DLASTSGA {
3779 register: VolatileCell<u32>,
3780}
3781#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3782pub mod tcd29_dlastsga;
3783#[doc = "TCD Control and Status"]
3784pub struct TCD29_CSR {
3785 register: VolatileCell<u16>,
3786}
3787#[doc = "TCD Control and Status"]
3788pub mod tcd29_csr;
3789#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3790pub struct TCD29_BITER_ELINKNO {
3791 register: VolatileCell<u16>,
3792}
3793#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3794pub mod tcd29_biter_elinkno;
3795#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3796pub struct TCD29_BITER_ELINKYES {
3797 register: VolatileCell<u16>,
3798}
3799#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3800pub mod tcd29_biter_elinkyes;
3801#[doc = "TCD Source Address"]
3802pub struct TCD30_SADDR {
3803 register: VolatileCell<u32>,
3804}
3805#[doc = "TCD Source Address"]
3806pub mod tcd30_saddr;
3807#[doc = "TCD Signed Source Address Offset"]
3808pub struct TCD30_SOFF {
3809 register: VolatileCell<u16>,
3810}
3811#[doc = "TCD Signed Source Address Offset"]
3812pub mod tcd30_soff;
3813#[doc = "TCD Transfer Attributes"]
3814pub struct TCD30_ATTR {
3815 register: VolatileCell<u16>,
3816}
3817#[doc = "TCD Transfer Attributes"]
3818pub mod tcd30_attr;
3819#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3820pub struct TCD30_NBYTES_MLNO {
3821 register: VolatileCell<u32>,
3822}
3823#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3824pub mod tcd30_nbytes_mlno;
3825#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3826pub struct TCD30_NBYTES_MLOFFNO {
3827 register: VolatileCell<u32>,
3828}
3829#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3830pub mod tcd30_nbytes_mloffno;
3831#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3832pub struct TCD30_NBYTES_MLOFFYES {
3833 register: VolatileCell<u32>,
3834}
3835#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3836pub mod tcd30_nbytes_mloffyes;
3837#[doc = "TCD Last Source Address Adjustment"]
3838pub struct TCD30_SLAST {
3839 register: VolatileCell<u32>,
3840}
3841#[doc = "TCD Last Source Address Adjustment"]
3842pub mod tcd30_slast;
3843#[doc = "TCD Destination Address"]
3844pub struct TCD30_DADDR {
3845 register: VolatileCellz<u32>,
3846}
3847#[doc = "TCD Destination Address"]
3848pub mod tcd30_daddr;
3849#[doc = "TCD Signed Destination Address Offset"]
3850pub struct TCD30_DOFF {
3851 register: VolatileCell<u16>,
3852}
3853#[doc = "TCD Signed Destination Address Offset"]
3854pub mod tcd30_doff;
3855#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3856pub struct TCD30_CITER_ELINKNO {
3857 register: VolatileCell<u16>,
3858}
3859#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3860pub mod tcd30_citer_elinkno;
3861#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3862pub struct TCD30_CITER_ELINKYES {
3863 register: VolatileCell<u16>,
3864}
3865#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3866pub mod tcd30_citer_elinkyes;
3867#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3868pub struct TCD30_DLASTSGA {
3869 register: VolatileCell<u32>,
3870}
3871#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3872pub mod tcd30_dlastsga;
3873#[doc = "TCD Control and Status"]
3874pub struct TCD30_CSR {
3875 register: VolatileCell<u16>,
3876}
3877#[doc = "TCD Control and Status"]
3878pub mod tcd30_csr;
3879#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3880pub struct TCD30_BITER_ELINKNO {
3881 register: VolatileCell<u16>,
3882}
3883#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3884pub mod tcd30_biter_elinkno;
3885#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3886pub struct TCD30_BITER_ELINKYES {
3887 register: VolatileCell<u16>,
3888}
3889#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3890pub mod tcd30_biter_elinkyes;
3891#[doc = "TCD Source Address"]
3892pub struct TCD31_SADDR {
3893 register: VolatileCell<u32>,
3894}
3895#[doc = "TCD Source Address"]
3896pub mod tcd31_saddr;
3897#[doc = "TCD Signed Source Address Offset"]
3898pub struct TCD31_SOFF {
3899 register: VolatileCell<u16>,
3900}
3901#[doc = "TCD Signed Source Address Offset"]
3902pub mod tcd31_soff;
3903#[doc = "TCD Transfer Attributes"]
3904pub struct TCD31_ATTR {
3905 register: VolatileCell<u16>,
3906}
3907#[doc = "TCD Transfer Attributes"]
3908pub mod tcd31_attr;
3909#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3910pub struct TCD31_NBYTES_MLNO {
3911 register: VolatileCell<u32>,
3912}
3913#[doc = "TCD Minor Byte Count (Minor Loop Mapping Disabled)"]
3914pub mod tcd31_nbytes_mlno;
3915#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3916pub struct TCD31_NBYTES_MLOFFNO {
3917 register: VolatileCell<u32>,
3918}
3919#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled)"]
3920pub mod tcd31_nbytes_mloffno;
3921#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3922pub struct TCD31_NBYTES_MLOFFYES {
3923 register: VolatileCell<u32>,
3924}
3925#[doc = "TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled)"]
3926pub mod tcd31_nbytes_mloffyes;
3927#[doc = "TCD Last Source Address Adjustment"]
3928pub struct TCD31_SLAST {
3929 register: VolatileCell<u32>,
3930}
3931#[doc = "TCD Last Source Address Adjustment"]
3932pub mod tcd31_slast;
3933#[doc = "TCD Destination Address"]
3934pub struct TCD31_DADDR {
3935 register: VolatileCell<u32>,
3936}
3937#[doc = "TCD Destination Address"]
3938pub mod tcd31_daddr;
3939#[doc = "TCD Signed Destination Address Offset"]
3940pub struct TCD31_DOFF {
3941 register: VolatileCell<u16>,
3942}
3943#[doc = "TCD Signed Destination Address Offset"]
3944pub mod tcd31_doff;
3945#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3946pub struct TCD31_CITER_ELINKNO {
3947 register: VolatileCell<u16>,
3948}
3949#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3950pub mod tcd31_citer_elinkno;
3951#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3952pub struct TCD31_CITER_ELINKYES {
3953 register: VolatileCell<u16>,
3954}
3955#[doc = "TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3956pub mod tcd31_citer_elinkyes;
3957#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3958pub struct TCD31_DLASTSGA {
3959 register: VolatileCell<u32>,
3960}
3961#[doc = "TCD Last Destination Address Adjustment/Scatter Gather Address"]
3962pub mod tcd31_dlastsga;
3963#[doc = "TCD Control and Status"]
3964pub struct TCD31_CSR {
3965 register: VolatileCell<u32>,
3966}
3967#[doc = "TCD Control and Status"]
3968pub mod tcd31_csr;
3969#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3970pub struct TCD31_BITER_ELINKNO {
3971 register: VolatileCell<u16>,
3972}
3973#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled)"]
3974pub mod tcd31_biter_elinkno;
3975#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3976pub struct TCD31_BITER_ELINKYES {
3977 register: VolatileCell<u16>,
3978}
3979#[doc = "TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled)"]
3980pub mod tcd31_biter_elinkyes;
diff --git a/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.rs b/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.rs
new file mode 100644
index 000000000..ad2823b48
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.rs
@@ -0,0 +1 @@
' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.txt b/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.txt
new file mode 100644
index 000000000..4d5ad74df
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0001_unclosed_char_at_eof.txt
@@ -0,0 +1,2 @@
1CHAR 1 "\'"
2> error0..1 token("\'") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.rs b/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.rs
new file mode 100644
index 000000000..e264a4152
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.rs
@@ -0,0 +1 @@
'🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.txt b/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.txt
new file mode 100644
index 000000000..eafdb3c7c
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0002_unclosed_char_with_ferris.txt
@@ -0,0 +1,2 @@
1CHAR 5 "\'🦀"
2> error0..5 token("\'🦀") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.rs
new file mode 100644
index 000000000..cf74b4dad
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.rs
@@ -0,0 +1 @@
'\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.txt
new file mode 100644
index 000000000..cc2b4866a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0003_unclosed_char_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1CHAR 5 "\'\\x7f"
2> error0..5 token("\'\\x7f") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.rs
new file mode 100644
index 000000000..50be91f68
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.rs
@@ -0,0 +1 @@
'\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.txt
new file mode 100644
index 000000000..a6d422cb3
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0004_unclosed_char_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1CHAR 9 "\'\\u{20AA}"
2> error0..9 token("\'\\u{20AA}") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.rs b/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.rs
new file mode 100644
index 000000000..309ecfe47
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.rs
@@ -0,0 +1 @@
' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.txt b/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.txt
new file mode 100644
index 000000000..47e7baa70
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0005_unclosed_char_with_space.txt
@@ -0,0 +1,2 @@
1CHAR 2 "\' "
2> error0..2 token("\' ") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.rs b/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.rs
new file mode 100644
index 000000000..6ba258b10
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.rs
@@ -0,0 +1 @@
'\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.txt b/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.txt
new file mode 100644
index 000000000..511029d80
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0006_unclosed_char_with_slash.txt
@@ -0,0 +1,2 @@
1CHAR 2 "\'\\"
2> error0..2 token("\'\\") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.rs
new file mode 100644
index 000000000..78bef7e3e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.rs
@@ -0,0 +1 @@
'\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.txt
new file mode 100644
index 000000000..d2ba5742c
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0007_unclosed_char_with_slash_n.txt
@@ -0,0 +1,2 @@
1CHAR 3 "\'\\n"
2> error0..3 token("\'\\n") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.rs b/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.rs
new file mode 100644
index 000000000..a0e722065
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.rs
@@ -0,0 +1 @@
'\' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.txt b/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.txt
new file mode 100644
index 000000000..ae9a7f0e2
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0008_unclosed_char_with_slash_single_quote.txt
@@ -0,0 +1,2 @@
1CHAR 3 "\'\\\'"
2> error0..3 token("\'\\\'") msg(Missing trailing `'` symbol to terminate the character literal)
diff --git a/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.rs b/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.rs
new file mode 100644
index 000000000..795dc7e25
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.rs
@@ -0,0 +1 @@
b' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.txt b/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.txt
new file mode 100644
index 000000000..ff1504592
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0009_unclosed_byte_at_eof.txt
@@ -0,0 +1,2 @@
1BYTE 2 "b\'"
2> error0..2 token("b\'") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.rs b/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.rs
new file mode 100644
index 000000000..c9230dc24
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.rs
@@ -0,0 +1 @@
b'🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.txt b/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.txt
new file mode 100644
index 000000000..34f7bd6d4
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0010_unclosed_byte_with_ferris.txt
@@ -0,0 +1,2 @@
1BYTE 6 "b\'🦀"
2> error0..6 token("b\'🦀") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.rs
new file mode 100644
index 000000000..d146a8090
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.rs
@@ -0,0 +1 @@
b'\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.txt
new file mode 100644
index 000000000..c964d0f00
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0011_unclosed_byte_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1BYTE 6 "b\'\\x7f"
2> error0..6 token("b\'\\x7f") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.rs
new file mode 100644
index 000000000..a3dec7c25
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.rs
@@ -0,0 +1 @@
b'\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.txt
new file mode 100644
index 000000000..cc65fb86f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0012_unclosed_byte_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1BYTE 10 "b\'\\u{20AA}"
2> error0..10 token("b\'\\u{20AA}") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.rs b/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.rs
new file mode 100644
index 000000000..93b7f9c87
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.rs
@@ -0,0 +1 @@
b' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.txt b/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.txt
new file mode 100644
index 000000000..800834a14
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0013_unclosed_byte_with_space.txt
@@ -0,0 +1,2 @@
1BYTE 3 "b\' "
2> error0..3 token("b\' ") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.rs b/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.rs
new file mode 100644
index 000000000..abffa5037
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.rs
@@ -0,0 +1 @@
b'\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.txt b/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.txt
new file mode 100644
index 000000000..7b85ee646
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0014_unclosed_byte_with_slash.txt
@@ -0,0 +1,2 @@
1BYTE 3 "b\'\\"
2> error0..3 token("b\'\\") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.rs
new file mode 100644
index 000000000..4f46836a9
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.rs
@@ -0,0 +1 @@
b'\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.txt
new file mode 100644
index 000000000..4b9a63117
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0015_unclosed_byte_with_slash_n.txt
@@ -0,0 +1,2 @@
1BYTE 4 "b\'\\n"
2> error0..4 token("b\'\\n") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.rs b/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.rs
new file mode 100644
index 000000000..645b641ee
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.rs
@@ -0,0 +1 @@
b'\' \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.txt b/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.txt
new file mode 100644
index 000000000..fe337f8d3
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0016_unclosed_byte_with_slash_single_quote.txt
@@ -0,0 +1,2 @@
1BYTE 4 "b\'\\\'"
2> error0..4 token("b\'\\\'") msg(Missing trailing `'` symbol to terminate the byte literal)
diff --git a/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.rs
new file mode 100644
index 000000000..9d68933c4
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.rs
@@ -0,0 +1 @@
" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.txt
new file mode 100644
index 000000000..d11a8d880
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0017_unclosed_string_at_eof.txt
@@ -0,0 +1,2 @@
1STRING 1 "\""
2> error0..1 token("\"") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.rs b/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.rs
new file mode 100644
index 000000000..d439b8d2a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.rs
@@ -0,0 +1 @@
"🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.txt b/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.txt
new file mode 100644
index 000000000..167f942d1
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0018_unclosed_string_with_ferris.txt
@@ -0,0 +1,2 @@
1STRING 5 "\"🦀"
2> error0..5 token("\"🦀") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.rs
new file mode 100644
index 000000000..56186a344
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.rs
@@ -0,0 +1 @@
"\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.txt
new file mode 100644
index 000000000..224c653d2
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0019_unclosed_string_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1STRING 5 "\"\\x7f"
2> error0..5 token("\"\\x7f") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.rs
new file mode 100644
index 000000000..ed24095c3
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.rs
@@ -0,0 +1 @@
"\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.txt
new file mode 100644
index 000000000..48975bbcb
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0020_unclosed_string_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1STRING 9 "\"\\u{20AA}"
2> error0..9 token("\"\\u{20AA}") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.rs b/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.rs
new file mode 100644
index 000000000..72cdc841f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.rs
@@ -0,0 +1 @@
" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.txt b/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.txt
new file mode 100644
index 000000000..a823cca7a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0021_unclosed_string_with_space.txt
@@ -0,0 +1,2 @@
1STRING 2 "\" "
2> error0..2 token("\" ") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.rs b/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.rs
new file mode 100644
index 000000000..00a258400
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.rs
@@ -0,0 +1 @@
"\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.txt b/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.txt
new file mode 100644
index 000000000..0914f001f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0022_unclosed_string_with_slash.txt
@@ -0,0 +1,2 @@
1STRING 2 "\"\\"
2> error0..2 token("\"\\") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.rs
new file mode 100644
index 000000000..a0c29b8cf
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.rs
@@ -0,0 +1 @@
"\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.txt
new file mode 100644
index 000000000..5674b55fd
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0023_unclosed_string_with_slash_n.txt
@@ -0,0 +1,2 @@
1STRING 3 "\"\\n"
2> error0..3 token("\"\\n") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.rs b/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.rs
new file mode 100644
index 000000000..403c2d6dd
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.rs
@@ -0,0 +1 @@
"\" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.txt b/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.txt
new file mode 100644
index 000000000..4c9a774e4
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0024_unclosed_string_with_slash_double_quote.txt
@@ -0,0 +1,2 @@
1STRING 3 "\"\\\""
2> error0..3 token("\"\\\"") msg(Missing trailing `"` symbol to terminate the string literal)
diff --git a/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.rs
new file mode 100644
index 000000000..36f4f4321
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.rs
@@ -0,0 +1 @@
b" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.txt
new file mode 100644
index 000000000..04e6b0aa4
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0025_unclosed_byte_string_at_eof.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 2 "b\""
2> error0..2 token("b\"") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.rs b/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.rs
new file mode 100644
index 000000000..3c23a0372
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.rs
@@ -0,0 +1 @@
b"🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.txt b/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.txt
new file mode 100644
index 000000000..0576a0609
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0026_unclosed_byte_string_with_ferris.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 6 "b\"🦀"
2> error0..6 token("b\"🦀") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.rs
new file mode 100644
index 000000000..836c112c1
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.rs
@@ -0,0 +1 @@
b"\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.txt
new file mode 100644
index 000000000..541a013d8
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0027_unclosed_byte_string_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 6 "b\"\\x7f"
2> error0..6 token("b\"\\x7f") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.rs
new file mode 100644
index 000000000..1c6df1d00
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.rs
@@ -0,0 +1 @@
b"\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.txt
new file mode 100644
index 000000000..71b0fb211
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0028_unclosed_byte_string_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 10 "b\"\\u{20AA}"
2> error0..10 token("b\"\\u{20AA}") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.rs b/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.rs
new file mode 100644
index 000000000..d6898541e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.rs
@@ -0,0 +1 @@
b" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.txt b/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.txt
new file mode 100644
index 000000000..bd5058bc1
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0029_unclosed_byte_string_with_space.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 3 "b\" "
2> error0..3 token("b\" ") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.rs b/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.rs
new file mode 100644
index 000000000..cce661538
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.rs
@@ -0,0 +1 @@
b"\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.txt b/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.txt
new file mode 100644
index 000000000..7f94f10ba
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0030_unclosed_byte_string_with_slash.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 3 "b\"\\"
2> error0..3 token("b\"\\") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.rs
new file mode 100644
index 000000000..5e680aabb
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.rs
@@ -0,0 +1 @@
b"\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.txt
new file mode 100644
index 000000000..9c3c089d7
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0031_unclosed_byte_string_with_slash_n.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 4 "b\"\\n"
2> error0..4 token("b\"\\n") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.rs b/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.rs
new file mode 100644
index 000000000..f2ff58ba9
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.rs
@@ -0,0 +1 @@
b"\" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.txt b/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.txt
new file mode 100644
index 000000000..884b12c8e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0032_unclosed_byte_string_with_slash_double_quote.txt
@@ -0,0 +1,2 @@
1BYTE_STRING 4 "b\"\\\""
2> error0..4 token("b\"\\\"") msg(Missing trailing `"` symbol to terminate the byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.rs
new file mode 100644
index 000000000..557c59b62
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.rs
@@ -0,0 +1 @@
r##" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.txt
new file mode 100644
index 000000000..6fd59ccc0
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0033_unclosed_raw_string_at_eof.txt
@@ -0,0 +1,2 @@
1RAW_STRING 4 "r##\""
2> error0..4 token("r##\"") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.rs b/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.rs
new file mode 100644
index 000000000..bd046e4bb
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.rs
@@ -0,0 +1 @@
r##"🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.txt b/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.txt
new file mode 100644
index 000000000..8d9ca0e8f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0034_unclosed_raw_string_with_ferris.txt
@@ -0,0 +1,2 @@
1RAW_STRING 8 "r##\"🦀"
2> error0..8 token("r##\"🦀") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.rs
new file mode 100644
index 000000000..5bec883dc
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.rs
@@ -0,0 +1 @@
r##"\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.txt
new file mode 100644
index 000000000..a906380c7
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0035_unclosed_raw_string_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1RAW_STRING 8 "r##\"\\x7f"
2> error0..8 token("r##\"\\x7f") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.rs
new file mode 100644
index 000000000..bf05c3913
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.rs
@@ -0,0 +1 @@
r##"\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.txt
new file mode 100644
index 000000000..5667c6149
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0036_unclosed_raw_string_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1RAW_STRING 12 "r##\"\\u{20AA}"
2> error0..12 token("r##\"\\u{20AA}") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.rs b/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.rs
new file mode 100644
index 000000000..f104bae4f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.rs
@@ -0,0 +1 @@
r##" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.txt b/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.txt
new file mode 100644
index 000000000..141c8268e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0037_unclosed_raw_string_with_space.txt
@@ -0,0 +1,2 @@
1RAW_STRING 5 "r##\" "
2> error0..5 token("r##\" ") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.rs b/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.rs
new file mode 100644
index 000000000..9242077b8
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.rs
@@ -0,0 +1 @@
r##"\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.txt b/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.txt
new file mode 100644
index 000000000..f61d4cc91
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0038_unclosed_raw_string_with_slash.txt
@@ -0,0 +1,2 @@
1RAW_STRING 5 "r##\"\\"
2> error0..5 token("r##\"\\") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.rs
new file mode 100644
index 000000000..db1c16f2b
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.rs
@@ -0,0 +1 @@
r##"\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.txt
new file mode 100644
index 000000000..12e2c0fc0
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0039_unclosed_raw_string_with_slash_n.txt
@@ -0,0 +1,2 @@
1RAW_STRING 6 "r##\"\\n"
2> error0..6 token("r##\"\\n") msg(Missing trailing `"` with `#` symbols to terminate the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.rs
new file mode 100644
index 000000000..ae5bae622
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.rs
@@ -0,0 +1 @@
br##" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.txt
new file mode 100644
index 000000000..fe12cb5fc
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0040_unclosed_raw_byte_string_at_eof.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 5 "br##\""
2> error0..5 token("br##\"") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.rs b/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.rs
new file mode 100644
index 000000000..9ef01207a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.rs
@@ -0,0 +1 @@
br##"🦀 \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.txt b/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.txt
new file mode 100644
index 000000000..5be2a7861
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0041_unclosed_raw_byte_string_with_ferris.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 9 "br##\"🦀"
2> error0..9 token("br##\"🦀") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.rs b/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.rs
new file mode 100644
index 000000000..d50270afe
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.rs
@@ -0,0 +1 @@
br##"\x7f \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.txt b/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.txt
new file mode 100644
index 000000000..6cbe08d07
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0042_unclosed_raw_byte_string_with_ascii_escape.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 9 "br##\"\\x7f"
2> error0..9 token("br##\"\\x7f") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.rs b/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.rs
new file mode 100644
index 000000000..90e299a1a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.rs
@@ -0,0 +1 @@
br##"\u{20AA} \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.txt b/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.txt
new file mode 100644
index 000000000..f56a4f984
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0043_unclosed_raw_byte_string_with_unicode_escape.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 13 "br##\"\\u{20AA}"
2> error0..13 token("br##\"\\u{20AA}") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.rs b/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.rs
new file mode 100644
index 000000000..14c602fd2
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.rs
@@ -0,0 +1 @@
br##" \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.txt b/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.txt
new file mode 100644
index 000000000..3d32ce34e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0044_unclosed_raw_byte_string_with_space.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 6 "br##\" "
2> error0..6 token("br##\" ") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.rs b/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.rs
new file mode 100644
index 000000000..0b3c015d7
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.rs
@@ -0,0 +1 @@
br##"\ \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.txt b/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.txt
new file mode 100644
index 000000000..320fea177
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0045_unclosed_raw_byte_string_with_slash.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 6 "br##\"\\"
2> error0..6 token("br##\"\\") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.rs b/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.rs
new file mode 100644
index 000000000..0d8b0e7ab
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.rs
@@ -0,0 +1 @@
br##"\n \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.txt b/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.txt
new file mode 100644
index 000000000..b3a56380c
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0046_unclosed_raw_byte_string_with_slash_n.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 7 "br##\"\\n"
2> error0..7 token("br##\"\\n") msg(Missing trailing `"` with `#` symbols to terminate the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.rs
new file mode 100644
index 000000000..eddf8d080
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.rs
@@ -0,0 +1 @@
r## \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.txt
new file mode 100644
index 000000000..5af1e2d97
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0047_unstarted_raw_string_at_eof.txt
@@ -0,0 +1,2 @@
1RAW_STRING 3 "r##"
2> error0..3 token("r##") msg(Missing `"` symbol after `#` symbols to begin the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.rs b/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.rs
new file mode 100644
index 000000000..7e8cadf4f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.rs
@@ -0,0 +1 @@
br## \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.txt b/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.txt
new file mode 100644
index 000000000..aec7afd92
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0048_unstarted_raw_byte_string_at_eof.txt
@@ -0,0 +1,2 @@
1RAW_BYTE_STRING 4 "br##"
2> error0..4 token("br##") msg(Missing `"` symbol after `#` symbols to begin the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.rs b/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.rs
new file mode 100644
index 000000000..534668a9b
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.rs
@@ -0,0 +1 @@
r## I lack a quote! \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt b/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt
new file mode 100644
index 000000000..e22fe5374
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt
@@ -0,0 +1,10 @@
1RAW_STRING 4 "r## "
2IDENT 1 "I"
3WHITESPACE 1 " "
4IDENT 4 "lack"
5WHITESPACE 1 " "
6IDENT 1 "a"
7WHITESPACE 1 " "
8IDENT 5 "quote"
9BANG 1 "!"
10> error0..4 token("r## ") msg(Missing `"` symbol after `#` symbols to begin the raw string literal)
diff --git a/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.rs b/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.rs
new file mode 100644
index 000000000..d9b55455a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.rs
@@ -0,0 +1 @@
br## I lack a quote! \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt b/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt
new file mode 100644
index 000000000..d74ea4c27
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt
@@ -0,0 +1,10 @@
1RAW_BYTE_STRING 5 "br## "
2IDENT 1 "I"
3WHITESPACE 1 " "
4IDENT 4 "lack"
5WHITESPACE 1 " "
6IDENT 1 "a"
7WHITESPACE 1 " "
8IDENT 5 "quote"
9BANG 1 "!"
10> error0..5 token("br## ") msg(Missing `"` symbol after `#` symbols to begin the raw byte string literal)
diff --git a/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.rs b/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.rs
new file mode 100644
index 000000000..22e83649f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.rs
@@ -0,0 +1 @@
/* \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.txt b/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.txt
new file mode 100644
index 000000000..2a256e9df
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0051_unclosed_block_comment_at_eof.txt
@@ -0,0 +1,2 @@
1COMMENT 2 "/*"
2> error0..2 token("/*") msg(Missing trailing `*/` symbols to terminate the block comment)
diff --git a/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.rs b/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.rs
new file mode 100644
index 000000000..c45c2844d
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.rs
@@ -0,0 +1 @@
/* comment
diff --git a/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.txt b/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.txt
new file mode 100644
index 000000000..8e8490302
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0052_unclosed_block_comment_with_content.txt
@@ -0,0 +1,2 @@
1COMMENT 11 "/* comment\n"
2> error0..11 token("/* comment\n") msg(Missing trailing `*/` symbols to terminate the block comment)
diff --git a/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.rs b/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.rs
new file mode 100644
index 000000000..3fcfc9660
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.rs
@@ -0,0 +1 @@
/* /* /*
diff --git a/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.txt b/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.txt
new file mode 100644
index 000000000..b7d28fc05
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0053_unclosed_nested_block_comment_entirely.txt
@@ -0,0 +1,2 @@
1COMMENT 9 "/* /* /*\n"
2> error0..9 token("/* /* /*\n") msg(Missing trailing `*/` symbols to terminate the block comment)
diff --git a/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.rs b/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.rs
new file mode 100644
index 000000000..26c898f01
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.rs
@@ -0,0 +1 @@
/** /*! /* comment */ */
diff --git a/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.txt b/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.txt
new file mode 100644
index 000000000..4742d2c12
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0054_unclosed_nested_block_comment_partially.txt
@@ -0,0 +1,2 @@
1COMMENT 25 "/** /*! /* comment */ */\n"
2> error0..25 token("/** /*! /* comment */ */\n") msg(Missing trailing `*/` symbols to terminate the block comment)
diff --git a/crates/syntax/test_data/lexer/err/0055_empty_int.rs b/crates/syntax/test_data/lexer/err/0055_empty_int.rs
new file mode 100644
index 000000000..aa2a9fdca
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0055_empty_int.rs
@@ -0,0 +1,17 @@
10b
20o
30x
4
50b_
60o_
70x_
8
90bnoDigit
100onoDigit
110xnoDigit
12
130xG
140xg
15
160x_g
170x_G
diff --git a/crates/syntax/test_data/lexer/err/0055_empty_int.txt b/crates/syntax/test_data/lexer/err/0055_empty_int.txt
new file mode 100644
index 000000000..bcd094b6e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0055_empty_int.txt
@@ -0,0 +1,39 @@
1INT_NUMBER 2 "0b"
2WHITESPACE 1 "\n"
3INT_NUMBER 2 "0o"
4WHITESPACE 1 "\n"
5INT_NUMBER 2 "0x"
6WHITESPACE 2 "\n\n"
7INT_NUMBER 3 "0b_"
8WHITESPACE 1 "\n"
9INT_NUMBER 3 "0o_"
10WHITESPACE 1 "\n"
11INT_NUMBER 3 "0x_"
12WHITESPACE 2 "\n\n"
13INT_NUMBER 9 "0bnoDigit"
14WHITESPACE 1 "\n"
15INT_NUMBER 9 "0onoDigit"
16WHITESPACE 1 "\n"
17INT_NUMBER 9 "0xnoDigit"
18WHITESPACE 2 "\n\n"
19INT_NUMBER 3 "0xG"
20WHITESPACE 1 "\n"
21INT_NUMBER 3 "0xg"
22WHITESPACE 2 "\n\n"
23INT_NUMBER 4 "0x_g"
24WHITESPACE 1 "\n"
25INT_NUMBER 4 "0x_G"
26WHITESPACE 1 "\n"
27> error0..2 token("0b") msg(Missing digits after the integer base prefix)
28> error3..5 token("0o") msg(Missing digits after the integer base prefix)
29> error6..8 token("0x") msg(Missing digits after the integer base prefix)
30> error10..13 token("0b_") msg(Missing digits after the integer base prefix)
31> error14..17 token("0o_") msg(Missing digits after the integer base prefix)
32> error18..21 token("0x_") msg(Missing digits after the integer base prefix)
33> error23..32 token("0bnoDigit") msg(Missing digits after the integer base prefix)
34> error33..42 token("0onoDigit") msg(Missing digits after the integer base prefix)
35> error43..52 token("0xnoDigit") msg(Missing digits after the integer base prefix)
36> error54..57 token("0xG") msg(Missing digits after the integer base prefix)
37> error58..61 token("0xg") msg(Missing digits after the integer base prefix)
38> error63..67 token("0x_g") msg(Missing digits after the integer base prefix)
39> error68..72 token("0x_G") msg(Missing digits after the integer base prefix)
diff --git a/crates/syntax/test_data/lexer/err/0056_empty_exponent.rs b/crates/syntax/test_data/lexer/err/0056_empty_exponent.rs
new file mode 100644
index 000000000..286584c88
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0056_empty_exponent.rs
@@ -0,0 +1,22 @@
10e
20E
3
442e+
542e-
642E+
742E-
8
942.e+
1042.e-
1142.E+
1242.E-
13
1442.2e+
1542.2e-
1642.2E+
1742.2E-
18
1942.2e+f32
2042.2e-f32
2142.2E+f32
2242.2E-f32
diff --git a/crates/syntax/test_data/lexer/err/0056_empty_exponent.txt b/crates/syntax/test_data/lexer/err/0056_empty_exponent.txt
new file mode 100644
index 000000000..6a645a6a4
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0056_empty_exponent.txt
@@ -0,0 +1,62 @@
1FLOAT_NUMBER 2 "0e"
2WHITESPACE 1 "\n"
3FLOAT_NUMBER 2 "0E"
4WHITESPACE 2 "\n\n"
5FLOAT_NUMBER 4 "42e+"
6WHITESPACE 1 "\n"
7FLOAT_NUMBER 4 "42e-"
8WHITESPACE 1 "\n"
9FLOAT_NUMBER 4 "42E+"
10WHITESPACE 1 "\n"
11FLOAT_NUMBER 4 "42E-"
12WHITESPACE 2 "\n\n"
13INT_NUMBER 2 "42"
14DOT 1 "."
15IDENT 1 "e"
16PLUS 1 "+"
17WHITESPACE 1 "\n"
18INT_NUMBER 2 "42"
19DOT 1 "."
20IDENT 1 "e"
21MINUS 1 "-"
22WHITESPACE 1 "\n"
23INT_NUMBER 2 "42"
24DOT 1 "."
25IDENT 1 "E"
26PLUS 1 "+"
27WHITESPACE 1 "\n"
28INT_NUMBER 2 "42"
29DOT 1 "."
30IDENT 1 "E"
31MINUS 1 "-"
32WHITESPACE 2 "\n\n"
33FLOAT_NUMBER 6 "42.2e+"
34WHITESPACE 1 "\n"
35FLOAT_NUMBER 6 "42.2e-"
36WHITESPACE 1 "\n"
37FLOAT_NUMBER 6 "42.2E+"
38WHITESPACE 1 "\n"
39FLOAT_NUMBER 6 "42.2E-"
40WHITESPACE 2 "\n\n"
41FLOAT_NUMBER 9 "42.2e+f32"
42WHITESPACE 1 "\n"
43FLOAT_NUMBER 9 "42.2e-f32"
44WHITESPACE 1 "\n"
45FLOAT_NUMBER 9 "42.2E+f32"
46WHITESPACE 1 "\n"
47FLOAT_NUMBER 9 "42.2E-f32"
48WHITESPACE 1 "\n"
49> error0..2 token("0e") msg(Missing digits after the exponent symbol)
50> error3..5 token("0E") msg(Missing digits after the exponent symbol)
51> error7..11 token("42e+") msg(Missing digits after the exponent symbol)
52> error12..16 token("42e-") msg(Missing digits after the exponent symbol)
53> error17..21 token("42E+") msg(Missing digits after the exponent symbol)
54> error22..26 token("42E-") msg(Missing digits after the exponent symbol)
55> error53..59 token("42.2e+") msg(Missing digits after the exponent symbol)
56> error60..66 token("42.2e-") msg(Missing digits after the exponent symbol)
57> error67..73 token("42.2E+") msg(Missing digits after the exponent symbol)
58> error74..80 token("42.2E-") msg(Missing digits after the exponent symbol)
59> error82..91 token("42.2e+f32") msg(Missing digits after the exponent symbol)
60> error92..101 token("42.2e-f32") msg(Missing digits after the exponent symbol)
61> error102..111 token("42.2E+f32") msg(Missing digits after the exponent symbol)
62> error112..121 token("42.2E-f32") msg(Missing digits after the exponent symbol)
diff --git a/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.rs b/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.rs
new file mode 100644
index 000000000..a7698a404
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.rs
@@ -0,0 +1,2 @@
1'1
2'1lifetime
diff --git a/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.txt b/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.txt
new file mode 100644
index 000000000..e138bcebc
--- /dev/null
+++ b/crates/syntax/test_data/lexer/err/0057_lifetime_strarts_with_a_number.txt
@@ -0,0 +1,6 @@
1LIFETIME 2 "\'1"
2WHITESPACE 1 "\n"
3LIFETIME 10 "\'1lifetime"
4WHITESPACE 1 "\n"
5> error0..2 token("\'1") msg(Lifetime name cannot start with a number)
6> error3..13 token("\'1lifetime") msg(Lifetime name cannot start with a number)
diff --git a/crates/syntax/test_data/lexer/ok/0001_hello.rs b/crates/syntax/test_data/lexer/ok/0001_hello.rs
new file mode 100644
index 000000000..95d09f2b1
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0001_hello.rs
@@ -0,0 +1 @@
hello world \ No newline at end of file
diff --git a/crates/syntax/test_data/lexer/ok/0001_hello.txt b/crates/syntax/test_data/lexer/ok/0001_hello.txt
new file mode 100644
index 000000000..27a5940a9
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0001_hello.txt
@@ -0,0 +1,3 @@
1IDENT 5 "hello"
2WHITESPACE 1 " "
3IDENT 5 "world"
diff --git a/crates/syntax/test_data/lexer/ok/0002_whitespace.rs b/crates/syntax/test_data/lexer/ok/0002_whitespace.rs
new file mode 100644
index 000000000..08fce1418
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0002_whitespace.rs
@@ -0,0 +1,4 @@
1a b c
2d
3
4e f
diff --git a/crates/syntax/test_data/lexer/ok/0002_whitespace.txt b/crates/syntax/test_data/lexer/ok/0002_whitespace.txt
new file mode 100644
index 000000000..01d260918
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0002_whitespace.txt
@@ -0,0 +1,12 @@
1IDENT 1 "a"
2WHITESPACE 1 " "
3IDENT 1 "b"
4WHITESPACE 2 " "
5IDENT 1 "c"
6WHITESPACE 1 "\n"
7IDENT 1 "d"
8WHITESPACE 2 "\n\n"
9IDENT 1 "e"
10WHITESPACE 1 "\t"
11IDENT 1 "f"
12WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0003_ident.rs b/crates/syntax/test_data/lexer/ok/0003_ident.rs
new file mode 100644
index 000000000..c05c9c009
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0003_ident.rs
@@ -0,0 +1 @@
foo foo_ _foo _ __ x привет
diff --git a/crates/syntax/test_data/lexer/ok/0003_ident.txt b/crates/syntax/test_data/lexer/ok/0003_ident.txt
new file mode 100644
index 000000000..4a0d5c053
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0003_ident.txt
@@ -0,0 +1,14 @@
1IDENT 3 "foo"
2WHITESPACE 1 " "
3IDENT 4 "foo_"
4WHITESPACE 1 " "
5IDENT 4 "_foo"
6WHITESPACE 1 " "
7UNDERSCORE 1 "_"
8WHITESPACE 1 " "
9IDENT 2 "__"
10WHITESPACE 1 " "
11IDENT 1 "x"
12WHITESPACE 1 " "
13IDENT 12 "привет"
14WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0004_numbers.rs b/crates/syntax/test_data/lexer/ok/0004_numbers.rs
new file mode 100644
index 000000000..bc761c235
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0004_numbers.rs
@@ -0,0 +1,9 @@
10 00 0_ 0. 0z
201790 0b1790 0o1790 0x1790aAbBcCdDeEfF 001279 0_1279 0.1279 0e1279 0E1279
30..2
40.foo()
50e+1
60.e+1
70.0E-2
80___0.10000____0000e+111__
91i64 92.0f32 11__s
diff --git a/crates/syntax/test_data/lexer/ok/0004_numbers.txt b/crates/syntax/test_data/lexer/ok/0004_numbers.txt
new file mode 100644
index 000000000..e19fc5789
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0004_numbers.txt
@@ -0,0 +1,57 @@
1INT_NUMBER 1 "0"
2WHITESPACE 1 " "
3INT_NUMBER 2 "00"
4WHITESPACE 1 " "
5INT_NUMBER 2 "0_"
6WHITESPACE 1 " "
7FLOAT_NUMBER 2 "0."
8WHITESPACE 1 " "
9INT_NUMBER 2 "0z"
10WHITESPACE 1 "\n"
11INT_NUMBER 5 "01790"
12WHITESPACE 1 " "
13INT_NUMBER 6 "0b1790"
14WHITESPACE 1 " "
15INT_NUMBER 6 "0o1790"
16WHITESPACE 1 " "
17INT_NUMBER 18 "0x1790aAbBcCdDeEfF"
18WHITESPACE 1 " "
19INT_NUMBER 6 "001279"
20WHITESPACE 1 " "
21INT_NUMBER 6 "0_1279"
22WHITESPACE 1 " "
23FLOAT_NUMBER 6 "0.1279"
24WHITESPACE 1 " "
25FLOAT_NUMBER 6 "0e1279"
26WHITESPACE 1 " "
27FLOAT_NUMBER 6 "0E1279"
28WHITESPACE 1 "\n"
29INT_NUMBER 1 "0"
30DOT 1 "."
31DOT 1 "."
32INT_NUMBER 1 "2"
33WHITESPACE 1 "\n"
34INT_NUMBER 1 "0"
35DOT 1 "."
36IDENT 3 "foo"
37L_PAREN 1 "("
38R_PAREN 1 ")"
39WHITESPACE 1 "\n"
40FLOAT_NUMBER 4 "0e+1"
41WHITESPACE 1 "\n"
42INT_NUMBER 1 "0"
43DOT 1 "."
44IDENT 1 "e"
45PLUS 1 "+"
46INT_NUMBER 1 "1"
47WHITESPACE 1 "\n"
48FLOAT_NUMBER 6 "0.0E-2"
49WHITESPACE 1 "\n"
50FLOAT_NUMBER 26 "0___0.10000____0000e+111__"
51WHITESPACE 1 "\n"
52INT_NUMBER 4 "1i64"
53WHITESPACE 1 " "
54FLOAT_NUMBER 7 "92.0f32"
55WHITESPACE 1 " "
56INT_NUMBER 5 "11__s"
57WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0005_symbols.rs b/crates/syntax/test_data/lexer/ok/0005_symbols.rs
new file mode 100644
index 000000000..487569b5a
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0005_symbols.rs
@@ -0,0 +1,6 @@
1; , ( ) { } [ ] < > @ # ~ ? $ & | + * / ^ %
2. .. ... ..=
3: ::
4= =>
5! !=
6- ->
diff --git a/crates/syntax/test_data/lexer/ok/0005_symbols.txt b/crates/syntax/test_data/lexer/ok/0005_symbols.txt
new file mode 100644
index 000000000..2049c2f1d
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0005_symbols.txt
@@ -0,0 +1,77 @@
1SEMICOLON 1 ";"
2WHITESPACE 1 " "
3COMMA 1 ","
4WHITESPACE 1 " "
5L_PAREN 1 "("
6WHITESPACE 1 " "
7R_PAREN 1 ")"
8WHITESPACE 1 " "
9L_CURLY 1 "{"
10WHITESPACE 1 " "
11R_CURLY 1 "}"
12WHITESPACE 1 " "
13L_BRACK 1 "["
14WHITESPACE 1 " "
15R_BRACK 1 "]"
16WHITESPACE 1 " "
17L_ANGLE 1 "<"
18WHITESPACE 1 " "
19R_ANGLE 1 ">"
20WHITESPACE 1 " "
21AT 1 "@"
22WHITESPACE 1 " "
23POUND 1 "#"
24WHITESPACE 1 " "
25TILDE 1 "~"
26WHITESPACE 1 " "
27QUESTION 1 "?"
28WHITESPACE 1 " "
29DOLLAR 1 "$"
30WHITESPACE 1 " "
31AMP 1 "&"
32WHITESPACE 1 " "
33PIPE 1 "|"
34WHITESPACE 1 " "
35PLUS 1 "+"
36WHITESPACE 1 " "
37STAR 1 "*"
38WHITESPACE 1 " "
39SLASH 1 "/"
40WHITESPACE 1 " "
41CARET 1 "^"
42WHITESPACE 1 " "
43PERCENT 1 "%"
44WHITESPACE 1 "\n"
45DOT 1 "."
46WHITESPACE 1 " "
47DOT 1 "."
48DOT 1 "."
49WHITESPACE 1 " "
50DOT 1 "."
51DOT 1 "."
52DOT 1 "."
53WHITESPACE 1 " "
54DOT 1 "."
55DOT 1 "."
56EQ 1 "="
57WHITESPACE 1 "\n"
58COLON 1 ":"
59WHITESPACE 1 " "
60COLON 1 ":"
61COLON 1 ":"
62WHITESPACE 1 "\n"
63EQ 1 "="
64WHITESPACE 1 " "
65EQ 1 "="
66R_ANGLE 1 ">"
67WHITESPACE 1 "\n"
68BANG 1 "!"
69WHITESPACE 1 " "
70BANG 1 "!"
71EQ 1 "="
72WHITESPACE 1 "\n"
73MINUS 1 "-"
74WHITESPACE 1 " "
75MINUS 1 "-"
76R_ANGLE 1 ">"
77WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0006_chars.rs b/crates/syntax/test_data/lexer/ok/0006_chars.rs
new file mode 100644
index 000000000..454ee0a5f
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0006_chars.rs
@@ -0,0 +1 @@
'x' ' ' '0' 'hello' '\x7f' '\n' '\\' '\''
diff --git a/crates/syntax/test_data/lexer/ok/0006_chars.txt b/crates/syntax/test_data/lexer/ok/0006_chars.txt
new file mode 100644
index 000000000..950954fbc
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0006_chars.txt
@@ -0,0 +1,16 @@
1CHAR 3 "\'x\'"
2WHITESPACE 1 " "
3CHAR 3 "\' \'"
4WHITESPACE 1 " "
5CHAR 3 "\'0\'"
6WHITESPACE 1 " "
7CHAR 7 "\'hello\'"
8WHITESPACE 1 " "
9CHAR 6 "\'\\x7f\'"
10WHITESPACE 1 " "
11CHAR 4 "\'\\n\'"
12WHITESPACE 1 " "
13CHAR 4 "\'\\\\\'"
14WHITESPACE 1 " "
15CHAR 4 "\'\\\'\'"
16WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0007_lifetimes.rs b/crates/syntax/test_data/lexer/ok/0007_lifetimes.rs
new file mode 100644
index 000000000..b764f1dce
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0007_lifetimes.rs
@@ -0,0 +1 @@
'a 'foo 'foo_bar_baz '_
diff --git a/crates/syntax/test_data/lexer/ok/0007_lifetimes.txt b/crates/syntax/test_data/lexer/ok/0007_lifetimes.txt
new file mode 100644
index 000000000..005c29100
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0007_lifetimes.txt
@@ -0,0 +1,8 @@
1LIFETIME 2 "\'a"
2WHITESPACE 1 " "
3LIFETIME 4 "\'foo"
4WHITESPACE 1 " "
5LIFETIME 12 "\'foo_bar_baz"
6WHITESPACE 1 " "
7LIFETIME 2 "\'_"
8WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0008_byte_strings.rs b/crates/syntax/test_data/lexer/ok/0008_byte_strings.rs
new file mode 100644
index 000000000..b54930f5e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0008_byte_strings.rs
@@ -0,0 +1,3 @@
1b'' b'x' b"foo" br""
2b''suf b""ix br""br
3b'\n' b'\\' b'\'' b'hello'
diff --git a/crates/syntax/test_data/lexer/ok/0008_byte_strings.txt b/crates/syntax/test_data/lexer/ok/0008_byte_strings.txt
new file mode 100644
index 000000000..bc03b51a8
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0008_byte_strings.txt
@@ -0,0 +1,22 @@
1BYTE 3 "b\'\'"
2WHITESPACE 1 " "
3BYTE 4 "b\'x\'"
4WHITESPACE 1 " "
5BYTE_STRING 6 "b\"foo\""
6WHITESPACE 1 " "
7RAW_BYTE_STRING 4 "br\"\""
8WHITESPACE 1 "\n"
9BYTE 6 "b\'\'suf"
10WHITESPACE 1 " "
11BYTE_STRING 5 "b\"\"ix"
12WHITESPACE 1 " "
13RAW_BYTE_STRING 6 "br\"\"br"
14WHITESPACE 1 "\n"
15BYTE 5 "b\'\\n\'"
16WHITESPACE 1 " "
17BYTE 5 "b\'\\\\\'"
18WHITESPACE 1 " "
19BYTE 5 "b\'\\\'\'"
20WHITESPACE 1 " "
21BYTE 8 "b\'hello\'"
22WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0009_strings.rs b/crates/syntax/test_data/lexer/ok/0009_strings.rs
new file mode 100644
index 000000000..4ddb5bffc
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0009_strings.rs
@@ -0,0 +1,2 @@
1"hello" r"world" "\n\"\\no escape" "multi
2line"
diff --git a/crates/syntax/test_data/lexer/ok/0009_strings.txt b/crates/syntax/test_data/lexer/ok/0009_strings.txt
new file mode 100644
index 000000000..4cb4d711d
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0009_strings.txt
@@ -0,0 +1,8 @@
1STRING 7 "\"hello\""
2WHITESPACE 1 " "
3RAW_STRING 8 "r\"world\""
4WHITESPACE 1 " "
5STRING 17 "\"\\n\\\"\\\\no escape\""
6WHITESPACE 1 " "
7STRING 12 "\"multi\nline\""
8WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0010_single_line_comments.rs b/crates/syntax/test_data/lexer/ok/0010_single_line_comments.rs
new file mode 100644
index 000000000..4b6653f9c
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0010_single_line_comments.rs
@@ -0,0 +1,12 @@
1#!/usr/bin/env bash
2// hello
3//! World
4//!! Inner line doc
5/// Outer line doc
6//// Just a comment
7
8//
9//!
10//!!
11///
12////
diff --git a/crates/syntax/test_data/lexer/ok/0010_single_line_comments.txt b/crates/syntax/test_data/lexer/ok/0010_single_line_comments.txt
new file mode 100644
index 000000000..98a3818c0
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0010_single_line_comments.txt
@@ -0,0 +1,22 @@
1SHEBANG 19 "#!/usr/bin/env bash"
2WHITESPACE 1 "\n"
3COMMENT 8 "// hello"
4WHITESPACE 1 "\n"
5COMMENT 9 "//! World"
6WHITESPACE 1 "\n"
7COMMENT 19 "//!! Inner line doc"
8WHITESPACE 1 "\n"
9COMMENT 18 "/// Outer line doc"
10WHITESPACE 1 "\n"
11COMMENT 19 "//// Just a comment"
12WHITESPACE 2 "\n\n"
13COMMENT 2 "//"
14WHITESPACE 1 "\n"
15COMMENT 3 "//!"
16WHITESPACE 1 "\n"
17COMMENT 4 "//!!"
18WHITESPACE 1 "\n"
19COMMENT 3 "///"
20WHITESPACE 1 "\n"
21COMMENT 4 "////"
22WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0011_keywords.rs b/crates/syntax/test_data/lexer/ok/0011_keywords.rs
new file mode 100644
index 000000000..1e91bff4e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0011_keywords.rs
@@ -0,0 +1,3 @@
1async fn use struct trait enum impl true false as extern crate
2mod pub self super in where for loop while if match const
3static mut type ref let else move return
diff --git a/crates/syntax/test_data/lexer/ok/0011_keywords.txt b/crates/syntax/test_data/lexer/ok/0011_keywords.txt
new file mode 100644
index 000000000..22c00eefb
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0011_keywords.txt
@@ -0,0 +1,64 @@
1ASYNC_KW 5 "async"
2WHITESPACE 1 " "
3FN_KW 2 "fn"
4WHITESPACE 1 " "
5USE_KW 3 "use"
6WHITESPACE 1 " "
7STRUCT_KW 6 "struct"
8WHITESPACE 1 " "
9TRAIT_KW 5 "trait"
10WHITESPACE 1 " "
11ENUM_KW 4 "enum"
12WHITESPACE 1 " "
13IMPL_KW 4 "impl"
14WHITESPACE 1 " "
15TRUE_KW 4 "true"
16WHITESPACE 1 " "
17FALSE_KW 5 "false"
18WHITESPACE 1 " "
19AS_KW 2 "as"
20WHITESPACE 1 " "
21EXTERN_KW 6 "extern"
22WHITESPACE 1 " "
23CRATE_KW 5 "crate"
24WHITESPACE 1 "\n"
25MOD_KW 3 "mod"
26WHITESPACE 1 " "
27PUB_KW 3 "pub"
28WHITESPACE 1 " "
29SELF_KW 4 "self"
30WHITESPACE 1 " "
31SUPER_KW 5 "super"
32WHITESPACE 1 " "
33IN_KW 2 "in"
34WHITESPACE 1 " "
35WHERE_KW 5 "where"
36WHITESPACE 1 " "
37FOR_KW 3 "for"
38WHITESPACE 1 " "
39LOOP_KW 4 "loop"
40WHITESPACE 1 " "
41WHILE_KW 5 "while"
42WHITESPACE 1 " "
43IF_KW 2 "if"
44WHITESPACE 1 " "
45MATCH_KW 5 "match"
46WHITESPACE 1 " "
47CONST_KW 5 "const"
48WHITESPACE 1 "\n"
49STATIC_KW 6 "static"
50WHITESPACE 1 " "
51MUT_KW 3 "mut"
52WHITESPACE 1 " "
53TYPE_KW 4 "type"
54WHITESPACE 1 " "
55REF_KW 3 "ref"
56WHITESPACE 1 " "
57LET_KW 3 "let"
58WHITESPACE 1 " "
59ELSE_KW 4 "else"
60WHITESPACE 1 " "
61MOVE_KW 4 "move"
62WHITESPACE 1 " "
63RETURN_KW 6 "return"
64WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0012_block_comment.rs b/crates/syntax/test_data/lexer/ok/0012_block_comment.rs
new file mode 100644
index 000000000..b880a59d9
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0012_block_comment.rs
@@ -0,0 +1,3 @@
1/* */
2/**/
3/* /* */ */
diff --git a/crates/syntax/test_data/lexer/ok/0012_block_comment.txt b/crates/syntax/test_data/lexer/ok/0012_block_comment.txt
new file mode 100644
index 000000000..2618e287e
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0012_block_comment.txt
@@ -0,0 +1,6 @@
1COMMENT 5 "/* */"
2WHITESPACE 1 "\n"
3COMMENT 4 "/**/"
4WHITESPACE 1 "\n"
5COMMENT 11 "/* /* */ */"
6WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0013_raw_strings.rs b/crates/syntax/test_data/lexer/ok/0013_raw_strings.rs
new file mode 100644
index 000000000..e5ed0b693
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0013_raw_strings.rs
@@ -0,0 +1 @@
r###"this is a r##"raw"## string"###
diff --git a/crates/syntax/test_data/lexer/ok/0013_raw_strings.txt b/crates/syntax/test_data/lexer/ok/0013_raw_strings.txt
new file mode 100644
index 000000000..9cf0957d1
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0013_raw_strings.txt
@@ -0,0 +1,2 @@
1RAW_STRING 36 "r###\"this is a r##\"raw\"## string\"###"
2WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/lexer/ok/0014_raw_ident.rs b/crates/syntax/test_data/lexer/ok/0014_raw_ident.rs
new file mode 100644
index 000000000..b40a1b6a2
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0014_raw_ident.rs
@@ -0,0 +1 @@
r#raw_ident
diff --git a/crates/syntax/test_data/lexer/ok/0014_raw_ident.txt b/crates/syntax/test_data/lexer/ok/0014_raw_ident.txt
new file mode 100644
index 000000000..484689693
--- /dev/null
+++ b/crates/syntax/test_data/lexer/ok/0014_raw_ident.txt
@@ -0,0 +1,2 @@
1IDENT 11 "r#raw_ident"
2WHITESPACE 1 "\n"
diff --git a/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rast b/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rast
new file mode 100644
index 000000000..bbbf496c8
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "a"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "u32"
21 [email protected] "\n "
22 [email protected]
23 [email protected]
24 [email protected] "b"
25 [email protected] ":"
26 [email protected] " "
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "u32"
32 [email protected] "\n"
33 [email protected] "}"
34error 21..21: expected COMMA
diff --git a/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rs b/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rs
new file mode 100644
index 000000000..fe5030d89
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0000_struct_field_missing_comma.rs
@@ -0,0 +1,4 @@
1struct S {
2 a: u32
3 b: u32
4} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rast b/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rast
new file mode 100644
index 000000000..6dc73bfdb
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rast
@@ -0,0 +1,18 @@
1[email protected]
2 [email protected]
3 [email protected] "if"
4 [email protected] " "
5 [email protected]
6 [email protected] "match"
7 [email protected] "\n\n"
8 [email protected]
9 [email protected] "struct"
10 [email protected] " "
11 [email protected]
12 [email protected] "S"
13 [email protected] " "
14 [email protected]
15 [email protected] "{"
16 [email protected] "}"
17error 0..0: expected an item
18error 3..3: expected an item
diff --git a/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rs b/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rs
new file mode 100644
index 000000000..98f23de1f
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0001_item_recovery_in_file.rs
@@ -0,0 +1,3 @@
1if match
2
3struct S {} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rast b/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rast
new file mode 100644
index 000000000..4cfd1bce4
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected] "#!/use/bin/env rusti"
3 [email protected] "\n"
4 [email protected]
5 [email protected] "#"
6 [email protected] "!"
7 [email protected]
8 [email protected] "/"
9 [email protected]
10 [email protected] "use"
11 [email protected]
12 [email protected] "/"
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "bin"
18 [email protected]
19 [email protected] "/"
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "env"
25 [email protected] " "
26 [email protected]
27 [email protected] "rusti"
28 [email protected] "\n"
29error 23..23: expected `[`
30error 23..23: expected an item
31error 27..27: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
32error 28..28: expected SEMICOLON
33error 31..31: expected BANG
34error 31..31: expected `{`, `[`, `(`
35error 31..31: expected SEMICOLON
36error 31..31: expected an item
37error 35..35: expected BANG
38error 41..41: expected `{`, `[`, `(`
39error 41..41: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rs b/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rs
new file mode 100644
index 000000000..48a3a3980
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0002_duplicate_shebang.rs
@@ -0,0 +1,2 @@
1#!/use/bin/env rusti
2#!/use/bin/env rusti
diff --git a/crates/syntax/test_data/parser/err/0003_C++_semicolon.rast b/crates/syntax/test_data/parser/err/0003_C++_semicolon.rast
new file mode 100644
index 000000000..7763fad84
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0003_C++_semicolon.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "a"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "i32"
21 [email protected] ","
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected] "b"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "String"
33 [email protected] ","
34 [email protected] "\n"
35 [email protected] "}"
36 [email protected]
37 [email protected] ";"
38error 39..39: expected item, found `;`
39consider removing this semicolon
diff --git a/crates/syntax/test_data/parser/err/0003_C++_semicolon.rs b/crates/syntax/test_data/parser/err/0003_C++_semicolon.rs
new file mode 100644
index 000000000..009312270
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0003_C++_semicolon.rs
@@ -0,0 +1,4 @@
1struct S {
2 a: i32,
3 b: String,
4}; \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rast b/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rast
new file mode 100644
index 000000000..9a0f4665e
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rast
@@ -0,0 +1,15 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected] "foo"
11 [email protected] "::"
12 [email protected]
13 [email protected] "92"
14 [email protected] ";"
15error 9..9: expected identifier
diff --git a/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rs b/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rs
new file mode 100644
index 000000000..060e65d06
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0004_use_path_bad_segment.rs
@@ -0,0 +1 @@
use foo::92; \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/err/0005_attribute_recover.rast b/crates/syntax/test_data/parser/err/0005_attribute_recover.rast
new file mode 100644
index 000000000..4845a6563
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0005_attribute_recover.rast
@@ -0,0 +1,59 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "#"
5 [email protected] "["
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "foo"
10 [email protected]
11 [email protected] "("
12 [email protected] "foo"
13 [email protected] ","
14 [email protected] " "
15 [email protected] "+"
16 [email protected] ","
17 [email protected] " "
18 [email protected] "92"
19 [email protected] ")"
20 [email protected] "]"
21 [email protected] "\n"
22 [email protected] "fn"
23 [email protected] " "
24 [email protected]
25 [email protected] "foo"
26 [email protected]
27 [email protected] "("
28 [email protected] ")"
29 [email protected] " "
30 [email protected]
31 [email protected] "{"
32 [email protected] "\n"
33 [email protected] "}"
34 [email protected] "\n\n\n"
35 [email protected]
36 [email protected] "#"
37 [email protected] "["
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "foo"
42 [email protected]
43 [email protected] "("
44 [email protected] "\n"
45 [email protected] "fn"
46 [email protected] " "
47 [email protected] "foo"
48 [email protected]
49 [email protected] "("
50 [email protected] ")"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] "\n"
55 [email protected] "}"
56 [email protected] "\n"
57error 53..53: expected R_PAREN
58error 53..53: expected `]`
59error 53..53: expected an item
diff --git a/crates/syntax/test_data/parser/err/0005_attribute_recover.rs b/crates/syntax/test_data/parser/err/0005_attribute_recover.rs
new file mode 100644
index 000000000..de7f81628
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0005_attribute_recover.rs
@@ -0,0 +1,8 @@
1#[foo(foo, +, 92)]
2fn foo() {
3}
4
5
6#[foo(
7fn foo() {
8}
diff --git a/crates/syntax/test_data/parser/err/0006_named_field_recovery.rast b/crates/syntax/test_data/parser/err/0006_named_field_recovery.rast
new file mode 100644
index 000000000..5f85c3943
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0006_named_field_recovery.rast
@@ -0,0 +1,74 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "f"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "u32"
21 [email protected] ","
22 [email protected] "\n "
23 [email protected]
24 [email protected] "pub"
25 [email protected] " "
26 [email protected]
27 [email protected] "92"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "+"
31 [email protected] " "
32 [email protected]
33 [email protected] "-"
34 [email protected] " "
35 [email protected]
36 [email protected] "*"
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected] "pub"
41 [email protected] " "
42 [email protected]
43 [email protected] "x"
44 [email protected] ":"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "u32"
51 [email protected] ","
52 [email protected] "\n "
53 [email protected]
54 [email protected]
55 [email protected] "z"
56 [email protected] ":"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected] "f64"
63 [email protected] ","
64 [email protected] "\n"
65 [email protected] "}"
66 [email protected] "\n"
67error 31..31: expected field declaration
68error 33..33: expected COMMA
69error 38..38: expected field declaration
70error 39..39: expected COMMA
71error 40..40: expected field declaration
72error 41..41: expected COMMA
73error 42..42: expected field declaration
74error 43..43: expected COMMA
diff --git a/crates/syntax/test_data/parser/err/0006_named_field_recovery.rs b/crates/syntax/test_data/parser/err/0006_named_field_recovery.rs
new file mode 100644
index 000000000..8069c111b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0006_named_field_recovery.rs
@@ -0,0 +1,7 @@
1struct S {
2 f: u32,
3 pub 92
4 + - *
5 pub x: u32,
6 z: f64,
7}
diff --git a/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rast b/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rast
new file mode 100644
index 000000000..560bfd751
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rast
@@ -0,0 +1,32 @@
1[email protected]
2 [email protected]
3 [email protected] "}"
4 [email protected] "\n\n"
5 [email protected]
6 [email protected] "struct"
7 [email protected] " "
8 [email protected]
9 [email protected] "S"
10 [email protected] ";"
11 [email protected] "\n\n"
12 [email protected]
13 [email protected] "}"
14 [email protected] "\n\n"
15 [email protected]
16 [email protected] "fn"
17 [email protected] " "
18 [email protected]
19 [email protected] "foo"
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected]
24 [email protected] "{"
25 [email protected] "}"
26 [email protected] "\n\n"
27 [email protected]
28 [email protected] "}"
29 [email protected] "\n"
30error 0..0: unmatched `}`
31error 14..14: unmatched `}`
32error 29..29: unmatched `}`
diff --git a/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rs b/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rs
new file mode 100644
index 000000000..dc869fb78
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0007_stray_curly_in_file.rs
@@ -0,0 +1,9 @@
1}
2
3struct S;
4
5}
6
7fn foo(){}
8
9}
diff --git a/crates/syntax/test_data/parser/err/0008_item_block_recovery.rast b/crates/syntax/test_data/parser/err/0008_item_block_recovery.rast
new file mode 100644
index 000000000..1e9637c26
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0008_item_block_recovery.rast
@@ -0,0 +1,77 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n"
14 [email protected] "}"
15 [email protected] "\n\n"
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "bar"
21 [email protected]
22 [email protected] "("
23 [email protected] ")"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "\n "
28 [email protected]
29 [email protected] "if"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected] "true"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "1"
40 [email protected] "\n "
41 [email protected] "}"
42 [email protected] " "
43 [email protected] "else"
44 [email protected] " "
45 [email protected]
46 [email protected] "{"
47 [email protected] "\n "
48 [email protected]
49 [email protected]
50 [email protected] "2"
51 [email protected] " "
52 [email protected] "+"
53 [email protected] " "
54 [email protected]
55 [email protected] "3"
56 [email protected] "\n "
57 [email protected] "}"
58 [email protected] "\n"
59 [email protected] "}"
60 [email protected] "\n\n"
61 [email protected]
62 [email protected] "fn"
63 [email protected] " "
64 [email protected]
65 [email protected] "baz"
66 [email protected]
67 [email protected] "("
68 [email protected] ")"
69 [email protected] " "
70 [email protected]
71 [email protected] "{"
72 [email protected] "\n"
73 [email protected] "}"
74 [email protected] "\n"
75error 17..17: expected BANG
76error 19..19: expected SEMICOLON
77error 20..20: expected an item
diff --git a/crates/syntax/test_data/parser/err/0008_item_block_recovery.rs b/crates/syntax/test_data/parser/err/0008_item_block_recovery.rs
new file mode 100644
index 000000000..9fcac19b5
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0008_item_block_recovery.rs
@@ -0,0 +1,13 @@
1fn foo() {
2}
3
4bar() {
5 if true {
6 1
7 } else {
8 2 + 3
9 }
10}
11
12fn baz() {
13}
diff --git a/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast b/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast
new file mode 100644
index 000000000..dacf71aa1
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast
@@ -0,0 +1,58 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected] "90"
11 [email protected] " "
12 [email protected]
13 [email protected] "+"
14 [email protected] " "
15 [email protected]
16 [email protected] "2"
17 [email protected]
18 [email protected] ">"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "f"
29 [email protected]
30 [email protected]
31 [email protected] ":"
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected] "u32"
38 [email protected] "\n"
39 [email protected] "}"
40 [email protected] "\n\n"
41 [email protected]
42 [email protected] "struct"
43 [email protected] " "
44 [email protected]
45 [email protected] "T"
46 [email protected] ";"
47 [email protected] "\n"
48error 9..9: expected type parameter
49error 11..11: expected COMMA
50error 11..11: expected R_ANGLE
51error 11..11: expected `;`, `{`, or `(`
52error 12..12: expected an item
53error 14..14: expected an item
54error 15..15: expected an item
55error 17..17: expected an item
56error 24..24: expected SEMICOLON
57error 24..24: expected expression
58error 25..25: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rs b/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rs
new file mode 100644
index 000000000..0dd30d0bd
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0009_broken_struct_type_parameter.rs
@@ -0,0 +1,5 @@
1struct S<90 + 2> {
2 f: u32
3}
4
5struct T;
diff --git a/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rast b/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rast
new file mode 100644
index 000000000..e0f1d0c27
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rast
@@ -0,0 +1,44 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "|"
18 [email protected] "|"
19 [email protected] " "
20 [email protected]
21 [email protected] "->"
22 [email protected] " "
23 [email protected]
24 [email protected] "("
25 [email protected] ")"
26 [email protected] " "
27 [email protected]
28 [email protected]
29 [email protected] "unsafe"
30 [email protected] " "
31 [email protected]
32 [email protected] "{"
33 [email protected] " "
34 [email protected]
35 [email protected] "("
36 [email protected] ")"
37 [email protected] " "
38 [email protected] "}"
39 [email protected] ";"
40 [email protected] "\n"
41 [email protected] "}"
42 [email protected] "\n"
43error 24..24: expected a block
44error 24..24: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rs b/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rs
new file mode 100644
index 000000000..985775282
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0010_unsafe_lambda_block.rs
@@ -0,0 +1,3 @@
1fn main() {
2 || -> () unsafe { () };
3}
diff --git a/crates/syntax/test_data/parser/err/0011_extern_struct.rast b/crates/syntax/test_data/parser/err/0011_extern_struct.rast
new file mode 100644
index 000000000..b02d390af
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0011_extern_struct.rast
@@ -0,0 +1,13 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected]
7 [email protected] "struct"
8 [email protected] " "
9 [email protected]
10 [email protected] "Foo"
11 [email protected] ";"
12 [email protected] "\n"
13error 6..6: expected existential, fn, trait or impl
diff --git a/crates/syntax/test_data/parser/err/0011_extern_struct.rs b/crates/syntax/test_data/parser/err/0011_extern_struct.rs
new file mode 100644
index 000000000..c1bd0a2d1
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0011_extern_struct.rs
@@ -0,0 +1 @@
extern struct Foo;
diff --git a/crates/syntax/test_data/parser/err/0012_broken_lambda.rast b/crates/syntax/test_data/parser/err/0012_broken_lambda.rast
new file mode 100644
index 000000000..f31c27633
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0012_broken_lambda.rast
@@ -0,0 +1,387 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "process"
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "'a"
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "S"
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "Sink"
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "'a"
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected] "builder"
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "S"
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "tokens"
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected] "Token"
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected]
74 [email protected] "events"
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected] "Vec"
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected] "Event"
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected]
99 [email protected]
100 [email protected]
101 [email protected]
102 [email protected]
103 [email protected] "next_tok_idx"
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected] "0"
109 [email protected]
110 [email protected]
111 [email protected]
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "eat_ws"
117 [email protected]
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected]
124 [email protected]
125 [email protected]
126 [email protected] "idx"
127 [email protected]
128 [email protected]
129 [email protected]
130 [email protected]
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected]
135 [email protected]
136 [email protected]
137 [email protected] "usize"
138 [email protected]
139 [email protected]
140 [email protected]
141 [email protected]
142 [email protected]
143 [email protected]
144 [email protected]
145 err: `expected pattern`
146 [email protected]
147 [email protected]
148 err: `expected COMMA`
149 [email protected]
150 err: `expected pattern`
151 [email protected]
152 [email protected]
153 [email protected]
154 err: `expected COMMA`
155 [email protected]
156 err: `expected pattern`
157 [email protected]
158 [email protected]
159 [email protected]
160 err: `expected COMMA`
161 [email protected]
162 err: `expected pattern`
163 [email protected]
164 [email protected]
165 [email protected]
166 err: `expected COMMA`
167 [email protected]
168 [email protected]
169 [email protected]
170 [email protected]
171 [email protected]
172 [email protected]
173 [email protected] "Some"
174 [email protected]
175 [email protected]
176 [email protected]
177 [email protected] "token"
178 [email protected]
179 err: `expected COMMA`
180 [email protected]
181 err: `expected pattern`
182 [email protected]
183 [email protected]
184 [email protected]
185 err: `expected COMMA`
186 [email protected]
187 [email protected]
188 [email protected]
189 [email protected]
190 [email protected] "tokens"
191 err: `expected COMMA`
192 err: `expected pattern`
193 [email protected]
194 [email protected]
195 [email protected]
196 err: `expected COMMA`
197 [email protected]
198 [email protected]
199 [email protected]
200 [email protected]
201 [email protected]
202 [email protected] "get"
203 [email protected]
204 err: `expected pattern`
205 [email protected]
206 [email protected]
207 err: `expected COMMA`
208 [email protected]
209 [email protected]
210 [email protected] "idx"
211 [email protected]
212 err: `expected COMMA`
213 [email protected]
214 err: `expected pattern`
215 [email protected]
216 [email protected]
217 [email protected]
218 err: `expected COMMA`
219 [email protected]
220 err: `expected pattern`
221 [email protected]
222 [email protected]
223 [email protected]
224 err: `expected COMMA`
225 [email protected]
226 err: `expected pattern`
227 [email protected]
228 [email protected]
229 [email protected]
230 err: `expected COMMA`
231 [email protected]
232 [email protected]
233 [email protected]
234 [email protected] "token"
235 err: `expected COMMA`
236 err: `expected pattern`
237 [email protected]
238 [email protected]
239 [email protected]
240 err: `expected COMMA`
241 [email protected]
242 [email protected]
243 [email protected]
244 [email protected] "kind"
245 err: `expected COMMA`
246 err: `expected pattern`
247 [email protected]
248 [email protected]
249 [email protected]
250 err: `expected COMMA`
251 [email protected]
252 [email protected]
253 [email protected]
254 [email protected]
255 [email protected]
256 [email protected] "is_trivia"
257 [email protected]
258 [email protected]
259 err: `expected COMMA`
260 [email protected]
261 err: `expected pattern`
262 [email protected]
263 [email protected]
264 [email protected]
265 err: `expected COMMA`
266 [email protected]
267 [email protected]
268 [email protected]
269 [email protected]
270 [email protected] "break"
271 err: `expected COMMA`
272 err: `expected pattern`
273 [email protected]
274 [email protected]
275 [email protected]
276 err: `expected COMMA`
277 [email protected]
278 err: `expected pattern`
279 [email protected]
280 [email protected]
281 [email protected]
282 err: `expected COMMA`
283 [email protected]
284 [email protected]
285 [email protected]
286 [email protected]
287 [email protected] "builder"
288 err: `expected COMMA`
289 err: `expected pattern`
290 [email protected]
291 [email protected]
292 [email protected]
293 err: `expected COMMA`
294 [email protected]
295 [email protected]
296 [email protected]
297 [email protected]
298 [email protected]
299 [email protected] "leaf"
300 [email protected]
301 [email protected]
302 [email protected]
303 [email protected] "token"
304 err: `expected COMMA`
305 err: `expected pattern`
306 [email protected]
307 [email protected]
308 err: `expected COMMA`
309 [email protected]
310 [email protected]
311 [email protected] "kind"
312 [email protected]
313 [email protected]
314 [email protected]
315 [email protected]
316 [email protected] "token"
317 err: `expected COMMA`
318 err: `expected pattern`
319 [email protected]
320 [email protected]
321 err: `expected COMMA`
322 [email protected]
323 [email protected]
324 [email protected] "len"
325 [email protected]
326 err: `expected COMMA`
327 err: `expected pattern`
328 [email protected]
329 [email protected]
330 [email protected]
331 err: `expected COMMA`
332 [email protected]
333 err: `expected pattern`
334 [email protected]
335 [email protected]
336 [email protected]
337 err: `expected COMMA`
338 [email protected]
339 [email protected]
340 [email protected]
341 [email protected] "idx"
342 err: `expected COMMA`
343 [email protected]
344 err: `expected pattern`
345 [email protected]
346 [email protected]
347 [email protected]
348 err: `expected COMMA`
349 err: `expected pattern`
350 [email protected]
351 [email protected]
352 [email protected]
353 err: `expected COMMA`
354 [email protected]
355 [email protected]
356 [email protected]
357 [email protected] "1"
358 err: `expected COMMA`
359 [email protected]
360 err: `expected pattern`
361 [email protected]
362 [email protected]
363 [email protected]
364 err: `expected COMMA`
365 [email protected]
366 err: `expected pattern`
367 [email protected]
368 [email protected]
369 [email protected]
370 err: `expected COMMA`
371 err: `expected pattern`
372 [email protected]
373 [email protected]
374 [email protected]
375 err: `expected COMMA`
376 [email protected]
377 err: `expected pattern`
378 [email protected]
379 [email protected]
380 [email protected]
381 err: `expected COMMA`
382 err: `expected PIPE`
383 [email protected]
384 err: `expected expression`
385 err: `expected SEMI`
386 err: `expected R_CURLY`
387 [email protected]
diff --git a/crates/syntax/test_data/parser/err/0013_invalid_type.rast b/crates/syntax/test_data/parser/err/0013_invalid_type.rast
new file mode 100644
index 000000000..f48ab6e71
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0013_invalid_type.rast
@@ -0,0 +1,89 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "pub"
5 [email protected] " "
6 [email protected] "struct"
7 [email protected] " "
8 [email protected]
9 [email protected] "Cache"
10 [email protected]
11 [email protected] "("
12 [email protected] "\n "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "RefCell"
19 [email protected]
20 [email protected] "<"
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "HashMap"
27 [email protected]
28 [email protected] "<"
29 [email protected] "\n "
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "TypeId"
36 [email protected] ","
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "Box"
44 [email protected]
45 [email protected] "<"
46 [email protected]
47 [email protected]
48 [email protected] "@"
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "Any"
56 [email protected]
57 [email protected]
58 [email protected] ">"
59 [email protected]
60 [email protected] ","
61 [email protected] "\n "
62 [email protected]
63 [email protected] ">"
64 [email protected]
65 [email protected] ">"
66 [email protected] "\n"
67 [email protected]
68 [email protected] ")"
69 [email protected]
70 [email protected] ";"
71 [email protected] "\n\n"
72error 67..67: expected type
73error 68..68: expected COMMA
74error 68..68: expected R_ANGLE
75error 68..68: expected COMMA
76error 68..68: expected R_ANGLE
77error 68..68: expected COMMA
78error 68..68: expected R_ANGLE
79error 68..68: expected COMMA
80error 72..72: expected COMMA
81error 72..72: expected a type
82error 72..72: expected R_PAREN
83error 72..72: expected SEMICOLON
84error 72..72: expected an item
85error 73..73: expected an item
86error 79..79: expected an item
87error 80..80: expected an item
88error 82..82: expected an item
89error 83..83: expected an item
diff --git a/crates/syntax/test_data/parser/err/0013_invalid_type.rs b/crates/syntax/test_data/parser/err/0013_invalid_type.rs
new file mode 100644
index 000000000..20dde3bc3
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0013_invalid_type.rs
@@ -0,0 +1,7 @@
1pub struct Cache(
2 RefCell<HashMap<
3 TypeId,
4 Box<@ Any>,
5 >>
6);
7
diff --git a/crates/syntax/test_data/parser/err/0014_where_no_bounds.rast b/crates/syntax/test_data/parser/err/0014_where_no_bounds.rast
new file mode 100644
index 000000000..a1f39b22a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0014_where_no_bounds.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] " "
17 [email protected]
18 [email protected] "where"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "T"
26 [email protected] " "
27 [email protected]
28 [email protected] "{"
29 [email protected] "}"
30 [email protected] "\n"
31error 19..19: expected colon
diff --git a/crates/syntax/test_data/parser/err/0014_where_no_bounds.rs b/crates/syntax/test_data/parser/err/0014_where_no_bounds.rs
new file mode 100644
index 000000000..75c1d2f98
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0014_where_no_bounds.rs
@@ -0,0 +1 @@
fn foo<T>() where T {}
diff --git a/crates/syntax/test_data/parser/err/0015_curly_in_params.rast b/crates/syntax/test_data/parser/err/0015_curly_in_params.rast
new file mode 100644
index 000000000..a3c25b450
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0015_curly_in_params.rast
@@ -0,0 +1,24 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected] "}"
11 [email protected]
12 [email protected] ")"
13 [email protected] " "
14 [email protected]
15 [email protected] "{"
16 [email protected] "\n"
17 [email protected] "}"
18 [email protected] "\n"
19error 7..7: expected value parameter
20error 7..7: expected R_PAREN
21error 7..7: expected a block
22error 7..7: unmatched `}`
23error 8..8: expected an item
24error 10..10: expected an item
diff --git a/crates/syntax/test_data/parser/err/0015_curly_in_params.rs b/crates/syntax/test_data/parser/err/0015_curly_in_params.rs
new file mode 100644
index 000000000..156e70251
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0015_curly_in_params.rs
@@ -0,0 +1,2 @@
1fn foo(}) {
2}
diff --git a/crates/syntax/test_data/parser/err/0016_missing_semi.rast b/crates/syntax/test_data/parser/err/0016_missing_semi.rast
new file mode 100644
index 000000000..66157c3dc
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0016_missing_semi.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "foo"
21 [email protected]
22 [email protected] "("
23 [email protected] "\n "
24 [email protected]
25 [email protected] "1"
26 [email protected] ","
27 [email protected] " "
28 [email protected]
29 [email protected] "2"
30 [email protected] "\n "
31 [email protected] ")"
32 [email protected] "\n "
33 [email protected]
34 [email protected]
35 [email protected] "return"
36 [email protected] " "
37 [email protected]
38 [email protected] "92"
39 [email protected] ";"
40 [email protected] "\n"
41 [email protected] "}"
42 [email protected] "\n"
43error 38..38: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0016_missing_semi.rs b/crates/syntax/test_data/parser/err/0016_missing_semi.rs
new file mode 100644
index 000000000..9ae857686
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0016_missing_semi.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 foo(
3 1, 2
4 )
5 return 92;
6}
diff --git a/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rast b/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rast
new file mode 100644
index 000000000..fe094f61c
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rast
@@ -0,0 +1,46 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "foo"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "i32"
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "\n "
25 [email protected]
26 [email protected] "let"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected] "bar"
31 [email protected] " "
32 [email protected] "="
33 [email protected] " "
34 [email protected]
35 [email protected] "92"
36 [email protected] ";"
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected] "1"
41 [email protected] " "
42 [email protected] "+"
43 [email protected] "\n"
44 [email protected] "}"
45 [email protected] "\n"
46error 44..44: expected expression
diff --git a/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rs b/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rs
new file mode 100644
index 000000000..17bd49777
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0017_incomplete_binexpr.rs
@@ -0,0 +1,4 @@
1fn foo(foo: i32) {
2 let bar = 92;
3 1 +
4}
diff --git a/crates/syntax/test_data/parser/err/0018_incomplete_fn.rast b/crates/syntax/test_data/parser/err/0018_incomplete_fn.rast
new file mode 100644
index 000000000..72939fc98
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0018_incomplete_fn.rast
@@ -0,0 +1,131 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "FnScopes"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "fn"
16 [email protected] " "
17 [email protected]
18 [email protected] "new_scope"
19 [email protected]
20 [email protected] "("
21 [email protected]
22 [email protected]
23 [email protected] "&"
24 [email protected] ")"
25 [email protected] " "
26 [email protected]
27 [email protected] "->"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "ScopeId"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "let"
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected] "res"
44 [email protected] " "
45 [email protected] "="
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "self"
53 [email protected] "."
54 [email protected]
55 [email protected] "scopes"
56 [email protected] "."
57 [email protected]
58 [email protected] "len"
59 [email protected]
60 [email protected] "("
61 [email protected] ")"
62 [email protected] ";"
63 [email protected] "\n "
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected] "self"
70 [email protected] "."
71 [email protected]
72 [email protected] "scopes"
73 [email protected] "."
74 [email protected]
75 [email protected] "push"
76 [email protected]
77 [email protected] "("
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "ScopeData"
83 [email protected] " "
84 [email protected]
85 [email protected] "{"
86 [email protected] " "
87 [email protected]
88 [email protected]
89 [email protected] "parent"
90 [email protected] ":"
91 [email protected] " "
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected] "None"
97 [email protected] ","
98 [email protected] " "
99 [email protected]
100 [email protected]
101 [email protected] "entries"
102 [email protected] ":"
103 [email protected] " "
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected] "vec"
109 [email protected] "!"
110 [email protected]
111 [email protected] "["
112 [email protected] "]"
113 [email protected] " "
114 [email protected] "}"
115 [email protected] ")"
116 [email protected] "\n "
117 [email protected] "}"
118 [email protected] "\n\n "
119 [email protected]
120 [email protected] "fn"
121 [email protected] " "
122 [email protected]
123 [email protected] "set_parent"
124 [email protected] "\n"
125 [email protected] "}"
126 [email protected] "\n"
127error 34..34: expected pattern
128error 34..34: expected COLON
129error 34..34: expected type
130error 180..180: expected function arguments
131error 180..180: expected a block
diff --git a/crates/syntax/test_data/parser/err/0018_incomplete_fn.rs b/crates/syntax/test_data/parser/err/0018_incomplete_fn.rs
new file mode 100644
index 000000000..fe604006c
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0018_incomplete_fn.rs
@@ -0,0 +1,8 @@
1impl FnScopes {
2 fn new_scope(&) -> ScopeId {
3 let res = self.scopes.len();
4 self.scopes.push(ScopeData { parent: None, entries: vec![] })
5 }
6
7 fn set_parent
8}
diff --git a/crates/syntax/test_data/parser/err/0019_let_recover.rast b/crates/syntax/test_data/parser/err/0019_let_recover.rast
new file mode 100644
index 000000000..72c05bd96
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0019_let_recover.rast
@@ -0,0 +1,103 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "foo"
20 [email protected] " "
21 [email protected] "="
22 [email protected] "\n "
23 [email protected]
24 [email protected] "let"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected] "bar"
29 [email protected] " "
30 [email protected] "="
31 [email protected] " "
32 [email protected]
33 [email protected] "1"
34 [email protected] ";"
35 [email protected] "\n "
36 [email protected]
37 [email protected] "let"
38 [email protected] "\n "
39 [email protected]
40 [email protected] "let"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected] "baz"
45 [email protected] " "
46 [email protected] "="
47 [email protected] " "
48 [email protected]
49 [email protected] "92"
50 [email protected] ";"
51 [email protected] "\n "
52 [email protected]
53 [email protected] "let"
54 [email protected] "\n "
55 [email protected]
56 [email protected]
57 [email protected] "if"
58 [email protected] " "
59 [email protected]
60 [email protected]
61 [email protected] "true"
62 [email protected] " "
63 [email protected]
64 [email protected] "{"
65 [email protected] "}"
66 [email protected] "\n "
67 [email protected]
68 [email protected] "let"
69 [email protected] "\n "
70 [email protected]
71 [email protected]
72 [email protected] "while"
73 [email protected] " "
74 [email protected]
75 [email protected]
76 [email protected] "true"
77 [email protected] " "
78 [email protected]
79 [email protected] "{"
80 [email protected] "}"
81 [email protected] "\n "
82 [email protected]
83 [email protected] "let"
84 [email protected] "\n "
85 [email protected]
86 [email protected] "loop"
87 [email protected] " "
88 [email protected]
89 [email protected] "{"
90 [email protected] "}"
91 [email protected] "\n"
92 [email protected] "}"
93 [email protected] "\n"
94error 24..24: expected expression
95error 24..24: expected SEMICOLON
96error 49..49: expected pattern
97error 49..49: expected SEMICOLON
98error 75..75: expected pattern
99error 75..75: expected SEMICOLON
100error 98..98: expected pattern
101error 98..98: expected SEMICOLON
102error 124..124: expected pattern
103error 124..124: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0019_let_recover.rs b/crates/syntax/test_data/parser/err/0019_let_recover.rs
new file mode 100644
index 000000000..48bf3d68b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0019_let_recover.rs
@@ -0,0 +1,12 @@
1fn foo() {
2 let foo =
3 let bar = 1;
4 let
5 let baz = 92;
6 let
7 if true {}
8 let
9 while true {}
10 let
11 loop {}
12}
diff --git a/crates/syntax/test_data/parser/err/0020_fn_recover.rast b/crates/syntax/test_data/parser/err/0020_fn_recover.rast
new file mode 100644
index 000000000..6f6feba5a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0020_fn_recover.rast
@@ -0,0 +1,20 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] "\n\n"
5 [email protected]
6 [email protected] "fn"
7 [email protected] " "
8 [email protected]
9 [email protected] "foo"
10 [email protected]
11 [email protected] "("
12 [email protected] ")"
13 [email protected] " "
14 [email protected]
15 [email protected] "{"
16 [email protected] "}"
17 [email protected] "\n"
18error 2..2: expected a name
19error 2..2: expected function arguments
20error 2..2: expected a block
diff --git a/crates/syntax/test_data/parser/err/0020_fn_recover.rs b/crates/syntax/test_data/parser/err/0020_fn_recover.rs
new file mode 100644
index 000000000..3393b668b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0020_fn_recover.rs
@@ -0,0 +1,3 @@
1fn
2
3fn foo() {}
diff --git a/crates/syntax/test_data/parser/err/0021_incomplete_param.rast b/crates/syntax/test_data/parser/err/0021_incomplete_param.rast
new file mode 100644
index 000000000..b32845537
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0021_incomplete_param.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "x"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "i32"
20 [email protected] ","
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "y"
26 [email protected] ")"
27 [email protected] " "
28 [email protected]
29 [email protected] "{"
30 [email protected] "\n"
31 [email protected] "}"
32 [email protected] "\n"
33error 16..16: expected COLON
34error 16..16: expected type
diff --git a/crates/syntax/test_data/parser/err/0021_incomplete_param.rs b/crates/syntax/test_data/parser/err/0021_incomplete_param.rs
new file mode 100644
index 000000000..7a6c264f6
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0021_incomplete_param.rs
@@ -0,0 +1,2 @@
1fn foo(x: i32, y) {
2}
diff --git a/crates/syntax/test_data/parser/err/0022_bad_exprs.rast b/crates/syntax/test_data/parser/err/0022_bad_exprs.rast
new file mode 100644
index 000000000..71fb19783
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0022_bad_exprs.rast
@@ -0,0 +1,180 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected] "["
17 [email protected]
18 [email protected] "1"
19 [email protected] ","
20 [email protected] " "
21 [email protected]
22 [email protected] "2"
23 [email protected] ","
24 [email protected] " "
25 [email protected]
26 [email protected] "@"
27 [email protected]
28 [email protected]
29 [email protected] ","
30 [email protected] " "
31 [email protected]
32 [email protected] "struct"
33 [email protected]
34 [email protected] ","
35 [email protected] " "
36 [email protected]
37 [email protected] "let"
38 [email protected]
39 [email protected] "]"
40 [email protected] " "
41 [email protected] "}"
42 [email protected] "\n"
43 [email protected]
44 [email protected] "fn"
45 [email protected] " "
46 [email protected]
47 [email protected] "b"
48 [email protected]
49 [email protected] "("
50 [email protected] ")"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "foo"
62 [email protected]
63 [email protected] "("
64 [email protected]
65 [email protected] "1"
66 [email protected] ","
67 [email protected] " "
68 [email protected]
69 [email protected] "2"
70 [email protected] ","
71 [email protected] " "
72 [email protected]
73 [email protected] "@"
74 [email protected]
75 [email protected]
76 [email protected] ","
77 [email protected] " "
78 [email protected]
79 [email protected] "impl"
80 [email protected]
81 [email protected]
82 [email protected] ","
83 [email protected] " "
84 [email protected]
85 [email protected] "let"
86 [email protected]
87 [email protected] ")"
88 [email protected] " "
89 [email protected] "}"
90 [email protected] "\n"
91 [email protected]
92 [email protected] "fn"
93 [email protected] " "
94 [email protected]
95 [email protected] "c"
96 [email protected]
97 [email protected] "("
98 [email protected] ")"
99 [email protected] " "
100 [email protected]
101 [email protected] "{"
102 [email protected] " "
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected] "foo"
110 [email protected] "."
111 [email protected]
112 [email protected] "bar"
113 [email protected]
114 [email protected] "("
115 [email protected]
116 [email protected] "1"
117 [email protected] ","
118 [email protected] " "
119 [email protected]
120 [email protected] "2"
121 [email protected] ","
122 [email protected] " "
123 [email protected]
124 [email protected] "@"
125 [email protected]
126 [email protected]
127 [email protected] ","
128 [email protected] " "
129 [email protected]
130 [email protected]
131 [email protected] "]"
132 [email protected]
133 [email protected]
134 [email protected] ","
135 [email protected] " "
136 [email protected]
137 [email protected] "trait"
138 [email protected]
139 [email protected] ","
140 [email protected] " "
141 [email protected]
142 [email protected] "let"
143 [email protected]
144 [email protected] ")"
145 [email protected] " "
146 [email protected] "}"
147 [email protected] "\n"
148error 16..16: expected expression
149error 17..17: expected R_BRACK
150error 17..17: expected SEMICOLON
151error 17..17: expected expression
152error 18..18: expected SEMICOLON
153error 25..25: expected a name
154error 26..26: expected `;`, `{`, or `(`
155error 30..30: expected pattern
156error 31..31: expected SEMICOLON
157error 53..53: expected expression
158error 54..54: expected SEMICOLON
159error 54..54: expected expression
160error 55..55: expected SEMICOLON
161error 60..60: expected type
162error 60..60: expected `{`
163error 60..60: expected expression
164error 61..61: expected SEMICOLON
165error 65..65: expected pattern
166error 65..65: expected SEMICOLON
167error 65..65: expected expression
168error 92..92: expected expression
169error 93..93: expected SEMICOLON
170error 93..93: expected expression
171error 94..94: expected SEMICOLON
172error 95..95: expected expression
173error 96..96: expected SEMICOLON
174error 96..96: expected expression
175error 97..97: expected SEMICOLON
176error 103..103: expected a name
177error 104..104: expected `{`
178error 108..108: expected pattern
179error 108..108: expected SEMICOLON
180error 108..108: expected expression
diff --git a/crates/syntax/test_data/parser/err/0022_bad_exprs.rs b/crates/syntax/test_data/parser/err/0022_bad_exprs.rs
new file mode 100644
index 000000000..cd2d493a1
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0022_bad_exprs.rs
@@ -0,0 +1,3 @@
1fn a() { [1, 2, @, struct, let] }
2fn b() { foo(1, 2, @, impl, let) }
3fn c() { foo.bar(1, 2, @, ], trait, let) }
diff --git a/crates/syntax/test_data/parser/err/0023_mismatched_paren.rast b/crates/syntax/test_data/parser/err/0023_mismatched_paren.rast
new file mode 100644
index 000000000..5ffefd742
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0023_mismatched_paren.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "foo"
19 [email protected] "!"
20 [email protected] " "
21 [email protected]
22 [email protected] "("
23 [email protected] "\n "
24 [email protected] "bar"
25 [email protected] ","
26 [email protected] " "
27 [email protected] "\"baz\""
28 [email protected] ","
29 [email protected] " "
30 [email protected] "1"
31 [email protected] ","
32 [email protected] " "
33 [email protected] "2.0"
34 [email protected] "\n "
35 [email protected] "}"
36 [email protected] " "
37 [email protected] "//~ ERROR incorrect c ..."
38 [email protected] "\n"
39 [email protected]
40 [email protected] "}"
41 [email protected] "\n"
42error 49..49: unmatched `}`
43error 92..92: unmatched `}`
diff --git a/crates/syntax/test_data/parser/err/0023_mismatched_paren.rs b/crates/syntax/test_data/parser/err/0023_mismatched_paren.rs
new file mode 100644
index 000000000..0206d563e
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0023_mismatched_paren.rs
@@ -0,0 +1,5 @@
1fn main() {
2 foo! (
3 bar, "baz", 1, 2.0
4 } //~ ERROR incorrect close delimiter
5}
diff --git a/crates/syntax/test_data/parser/err/0024_many_type_parens.rast b/crates/syntax/test_data/parser/err/0024_many_type_parens.rast
new file mode 100644
index 000000000..e3be6b22e
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0024_many_type_parens.rast
@@ -0,0 +1,319 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected] "("
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "Copy"
22 [email protected] ")"
23 [email protected] " "
24 [email protected] "+"
25 [email protected] " "
26 [email protected]
27 [email protected] "("
28 [email protected] "?"
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "Sized"
34 [email protected] ")"
35 [email protected] " "
36 [email protected] "+"
37 [email protected] " "
38 [email protected]
39 [email protected] "("
40 [email protected]
41 [email protected] "for"
42 [email protected]
43 [email protected] "<"
44 [email protected]
45 [email protected] "\'a"
46 [email protected] ">"
47 [email protected] " "
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "Trait"
53 [email protected]
54 [email protected] "<"
55 [email protected]
56 [email protected] "\'a"
57 [email protected] ">"
58 [email protected] ")"
59 [email protected] ">"
60 [email protected]
61 [email protected] "("
62 [email protected] ")"
63 [email protected] " "
64 [email protected]
65 [email protected] "{"
66 [email protected] "}"
67 [email protected] "\n\n"
68 [email protected]
69 [email protected] "fn"
70 [email protected] " "
71 [email protected]
72 [email protected] "main"
73 [email protected]
74 [email protected] "("
75 [email protected] ")"
76 [email protected] " "
77 [email protected]
78 [email protected] "{"
79 [email protected] "\n "
80 [email protected]
81 [email protected] "let"
82 [email protected] " "
83 [email protected]
84 [email protected] "_"
85 [email protected] ":"
86 [email protected] " "
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected] "Box"
95 [email protected]
96 [email protected] "<"
97 [email protected]
98 [email protected]
99 [email protected] "("
100 [email protected]
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected] "Copy"
105 [email protected] ")"
106 [email protected] " "
107 [email protected] "+"
108 [email protected] " "
109 [email protected]
110 [email protected] "("
111 [email protected] "?"
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "Sized"
117 [email protected] ")"
118 [email protected] " "
119 [email protected] "+"
120 [email protected] " "
121 [email protected]
122 [email protected] "("
123 [email protected]
124 [email protected] "for"
125 [email protected]
126 [email protected] "<"
127 [email protected]
128 [email protected] "\'a"
129 [email protected] ">"
130 [email protected] " "
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected]
135 [email protected] "Trait"
136 [email protected]
137 [email protected] "<"
138 [email protected]
139 [email protected] "\'a"
140 [email protected] ">"
141 [email protected] ")"
142 [email protected]
143 [email protected]
144 [email protected] ">"
145 [email protected] ";"
146 [email protected] "\n "
147 [email protected]
148 [email protected] "let"
149 [email protected] " "
150 [email protected]
151 [email protected] "_"
152 [email protected] ":"
153 [email protected] " "
154 [email protected]
155 [email protected]
156 [email protected]
157 [email protected]
158 [email protected] "Box"
159 [email protected]
160 [email protected] "<"
161 [email protected]
162 [email protected]
163 [email protected] "("
164 [email protected]
165 [email protected] "?"
166 [email protected]
167 [email protected]
168 [email protected]
169 [email protected]
170 [email protected]
171 [email protected] "Sized"
172 [email protected]
173 [email protected]
174 [email protected] ")"
175 [email protected] " "
176 [email protected]
177 [email protected]
178 [email protected] "+"
179 [email protected] " "
180 [email protected]
181 [email protected]
182 [email protected] "("
183 [email protected]
184 [email protected] "for"
185 [email protected]
186 [email protected]
187 [email protected]
188 [email protected] "<"
189 [email protected]
190 [email protected] "\'a"
191 [email protected] ">"
192 [email protected] " "
193 [email protected]
194 [email protected]
195 [email protected]
196 [email protected]
197 [email protected]
198 [email protected]
199 [email protected]
200 [email protected]
201 [email protected] "Trait"
202 [email protected] "<"
203 [email protected]
204 [email protected] "\'a"
205 [email protected] ">"
206 [email protected]
207 [email protected] ")"
208 [email protected] " "
209 [email protected] "+"
210 [email protected] " "
211 [email protected]
212 [email protected] "("
213 [email protected]
214 [email protected]
215 [email protected]
216 [email protected]
217 [email protected] "Copy"
218 [email protected] ")"
219 [email protected] ">"
220 [email protected]
221 [email protected] ";"
222 [email protected] "\n "
223 [email protected]
224 [email protected] "let"
225 [email protected] " "
226 [email protected]
227 [email protected] "_"
228 [email protected] ":"
229 [email protected] " "
230 [email protected]
231 [email protected]
232 [email protected]
233 [email protected]
234 [email protected]
235 [email protected]
236 [email protected]
237 [email protected] "Box"
238 [email protected]
239 [email protected] "<"
240 [email protected]
241 [email protected]
242 [email protected] "("
243 [email protected]
244 [email protected] "for"
245 [email protected]
246 [email protected] "<"
247 [email protected]
248 [email protected] "\'a"
249 [email protected] ">"
250 [email protected] " "
251 [email protected]
252 [email protected]
253 [email protected]
254 [email protected]
255 [email protected] "Trait"
256 [email protected]
257 [email protected] "<"
258 [email protected]
259 [email protected] "\'a"
260 [email protected] ">"
261 [email protected] ")"
262 [email protected] " "
263 [email protected] "+"
264 [email protected] " "
265 [email protected]
266 [email protected] "("
267 [email protected]
268 [email protected]
269 [email protected]
270 [email protected]
271 [email protected] "Copy"
272 [email protected] ")"
273 [email protected] " "
274 [email protected] "+"
275 [email protected] " "
276 [email protected]
277 [email protected] "("
278 [email protected] "?"
279 [email protected]
280 [email protected]
281 [email protected]
282 [email protected]
283 [email protected] "Sized"
284 [email protected] ")"
285 [email protected]
286 [email protected]
287 [email protected] ">"
288 [email protected] ";"
289 [email protected] "\n"
290 [email protected] "}"
291 [email protected] "\n"
292error 88..88: expected COMMA
293error 88..88: expected R_ANGLE
294error 121..121: expected SEMICOLON
295error 121..121: expected expression
296error 140..140: expected type
297error 141..141: expected R_PAREN
298error 141..141: expected COMMA
299error 141..141: expected R_ANGLE
300error 141..141: expected SEMICOLON
301error 146..146: expected SEMICOLON
302error 146..146: expected expression
303error 147..147: expected SEMICOLON
304error 148..148: expected expression
305error 149..149: expected SEMICOLON
306error 155..155: expected type
307error 158..158: expected IN_KW
308error 165..165: expected expression
309error 168..168: expected expression
310error 179..179: expected expression
311error 180..180: expected a block
312error 180..180: expected COMMA
313error 180..180: expected expression
314error 180..180: expected R_PAREN
315error 180..180: expected SEMICOLON
316error 215..215: expected COMMA
317error 215..215: expected R_ANGLE
318error 235..235: expected SEMICOLON
319error 235..235: expected expression
diff --git a/crates/syntax/test_data/parser/err/0024_many_type_parens.rs b/crates/syntax/test_data/parser/err/0024_many_type_parens.rs
new file mode 100644
index 000000000..6c2e95c02
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0024_many_type_parens.rs
@@ -0,0 +1,7 @@
1fn f<T: (Copy) + (?Sized) + (for<'a> Trait<'a>)>() {}
2
3fn main() {
4 let _: Box<(Copy) + (?Sized) + (for<'a> Trait<'a>)>;
5 let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Copy)>;
6 let _: Box<(for<'a> Trait<'a>) + (Copy) + (?Sized)>;
7}
diff --git a/crates/syntax/test_data/parser/err/0025_nope.rast b/crates/syntax/test_data/parser/err/0025_nope.rast
new file mode 100644
index 000000000..83fc9fe77
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0025_nope.rast
@@ -0,0 +1,202 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "enum"
16 [email protected] " "
17 [email protected]
18 [email protected] "Test"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected] "Var1"
26 [email protected] ","
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected] "Var2"
31 [email protected]
32 [email protected] "("
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "String"
39 [email protected] ")"
40 [email protected] ","
41 [email protected] "\n "
42 [email protected]
43 [email protected]
44 [email protected] "Var3"
45 [email protected] " "
46 [email protected]
47 [email protected] "{"
48 [email protected] "\n "
49 [email protected]
50 [email protected]
51 [email protected] "abc"
52 [email protected] ":"
53 [email protected] " "
54 [email protected]
55 [email protected] "{"
56 [email protected] "}"
57 [email protected]
58 [email protected] ","
59 [email protected] " "
60 [email protected] "//~ ERROR: expected t ..."
61 [email protected] "\n "
62 [email protected] "}"
63 [email protected] ","
64 [email protected] "\n "
65 [email protected] "}"
66 [email protected] "\n\n "
67 [email protected] "// recover..."
68 [email protected] "\n "
69 [email protected]
70 [email protected] "let"
71 [email protected] " "
72 [email protected]
73 [email protected]
74 [email protected] "a"
75 [email protected] " "
76 [email protected] "="
77 [email protected] " "
78 [email protected]
79 [email protected] "1"
80 [email protected] ";"
81 [email protected] "\n "
82 [email protected]
83 [email protected] "enum"
84 [email protected] " "
85 [email protected]
86 [email protected] "Test2"
87 [email protected] " "
88 [email protected]
89 [email protected] "{"
90 [email protected] "\n "
91 [email protected]
92 [email protected]
93 [email protected] "Fine"
94 [email protected] ","
95 [email protected] "\n "
96 [email protected] "}"
97 [email protected] "\n\n "
98 [email protected]
99 [email protected] "enum"
100 [email protected] " "
101 [email protected]
102 [email protected] "Test3"
103 [email protected] " "
104 [email protected]
105 [email protected] "{"
106 [email protected] "\n "
107 [email protected]
108 [email protected]
109 [email protected] "StillFine"
110 [email protected] " "
111 [email protected]
112 [email protected] "{"
113 [email protected] "\n "
114 [email protected]
115 [email protected]
116 [email protected] "def"
117 [email protected] ":"
118 [email protected] " "
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected] "i32"
124 [email protected] ","
125 [email protected] "\n "
126 [email protected] "}"
127 [email protected] ","
128 [email protected] "\n "
129 [email protected] "}"
130 [email protected] "\n\n "
131 [email protected]
132 [email protected]
133 [email protected] "{"
134 [email protected] "\n "
135 [email protected]
136 [email protected] "// fail again"
137 [email protected] "\n "
138 [email protected] "enum"
139 [email protected] " "
140 [email protected]
141 [email protected] "Test4"
142 [email protected] " "
143 [email protected]
144 [email protected] "{"
145 [email protected] "\n "
146 [email protected]
147 [email protected]
148 [email protected] "Nope"
149 [email protected]
150 [email protected] "("
151 [email protected]
152 [email protected]
153 [email protected]
154 [email protected]
155 [email protected]
156 [email protected] "i32"
157 [email protected] " "
158 [email protected]
159 [email protected]
160 [email protected] "{"
161 [email protected] "}"
162 [email protected]
163 [email protected] ")"
164 [email protected] " "
165 [email protected] "//~ ERROR: found `{`"
166 [email protected] "\n ..."
167 [email protected] "//~^ ERROR: found `{`"
168 [email protected] "\n "
169 [email protected] "}"
170 [email protected] "\n "
171 [email protected] "}"
172 [email protected] "\n "
173 [email protected] "// still recover later"
174 [email protected] "\n "
175 [email protected]
176 [email protected] "let"
177 [email protected] " "
178 [email protected]
179 [email protected]
180 [email protected] "bad_syntax"
181 [email protected] " "
182 [email protected] "="
183 [email protected] " "
184 [email protected]
185 [email protected] "_"
186 [email protected] ";"
187 [email protected] " "
188 [email protected] "//~ ERROR: expected e ..."
189 [email protected] "\n"
190 [email protected] "}"
191 [email protected] "\n"
192error 95..95: expected type
193error 95..95: expected COMMA
194error 96..96: expected field
195error 98..98: expected field declaration
196error 371..371: expected COMMA
197error 372..372: expected a type
198error 372..372: expected R_PAREN
199error 372..372: expected COMMA
200error 372..372: expected enum variant
201error 374..374: expected enum variant
202error 508..508: expected expression
diff --git a/crates/syntax/test_data/parser/err/0025_nope.rs b/crates/syntax/test_data/parser/err/0025_nope.rs
new file mode 100644
index 000000000..28726ed51
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0025_nope.rs
@@ -0,0 +1,31 @@
1fn main() {
2 enum Test {
3 Var1,
4 Var2(String),
5 Var3 {
6 abc: {}, //~ ERROR: expected type, found `{`
7 },
8 }
9
10 // recover...
11 let a = 1;
12 enum Test2 {
13 Fine,
14 }
15
16 enum Test3 {
17 StillFine {
18 def: i32,
19 },
20 }
21
22 {
23 // fail again
24 enum Test4 {
25 Nope(i32 {}) //~ ERROR: found `{`
26 //~^ ERROR: found `{`
27 }
28 }
29 // still recover later
30 let bad_syntax = _; //~ ERROR: expected expression, found reserved identifier `_`
31}
diff --git a/crates/syntax/test_data/parser/err/0026_imp_recovery.rast b/crates/syntax/test_data/parser/err/0026_imp_recovery.rast
new file mode 100644
index 000000000..1b08c834e
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0026_imp_recovery.rast
@@ -0,0 +1,49 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected]
5 [email protected] "<"
6 [email protected]
7 [email protected]
8 [email protected] "T"
9 [email protected] ":"
10 [email protected] " "
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "Clone"
18 [email protected] ">"
19 [email protected] "\n"
20 [email protected]
21 [email protected] "impl"
22 [email protected]
23 [email protected] "<"
24 [email protected]
25 [email protected]
26 [email protected] "T"
27 [email protected] ">"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "OnceCell"
34 [email protected]
35 [email protected] "<"
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "T"
42 [email protected] ">"
43 [email protected] " "
44 [email protected]
45 [email protected] "{"
46 [email protected] "}"
47 [email protected] "\n"
48error 14..14: expected trait or type
49error 14..14: expected `{`
diff --git a/crates/syntax/test_data/parser/err/0026_imp_recovery.rs b/crates/syntax/test_data/parser/err/0026_imp_recovery.rs
new file mode 100644
index 000000000..829ca1c4b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0026_imp_recovery.rs
@@ -0,0 +1,2 @@
1impl<T: Clone>
2impl<T> OnceCell<T> {}
diff --git a/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rast b/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rast
new file mode 100644
index 000000000..a8e42e6ea
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rast
@@ -0,0 +1,27 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] "\n "
11 [email protected]
12 [email protected] "where"
13 [email protected] " "
14 [email protected]
15 [email protected] "for"
16 [email protected]
17 [email protected] "<"
18 [email protected]
19 [email protected] "\'a"
20 [email protected] ">"
21 [email protected] "\n"
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n"
26error 26..26: expected type
27error 26..26: expected colon
diff --git a/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rs b/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rs
new file mode 100644
index 000000000..2792c2084
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0027_incomplere_where_for.rs
@@ -0,0 +1,3 @@
1fn foo()
2 where for<'a>
3{}
diff --git a/crates/syntax/test_data/parser/err/0029_field_completion.rast b/crates/syntax/test_data/parser/err/0029_field_completion.rast
new file mode 100644
index 000000000..c6402cdd8
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0029_field_completion.rast
@@ -0,0 +1,35 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "a"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "A"
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "a"
31 [email protected] "."
32 [email protected] "\n"
33 [email protected] "}"
34 [email protected] "\n"
35error 21..21: expected field name or number
diff --git a/crates/syntax/test_data/parser/err/0029_field_completion.rs b/crates/syntax/test_data/parser/err/0029_field_completion.rs
new file mode 100644
index 000000000..a7cdc17bb
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0029_field_completion.rs
@@ -0,0 +1,3 @@
1fn foo(a: A) {
2 a.
3}
diff --git a/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
new file mode 100644
index 000000000..a443b37db
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
@@ -0,0 +1,121 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "block"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "inner"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "\n "
26 [email protected]
27 [email protected] "#"
28 [email protected] "!"
29 [email protected] "["
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "doc"
34 [email protected]
35 [email protected] "("
36 [email protected] "\"Inner attributes not ..."
37 [email protected] ")"
38 [email protected] "]"
39 [email protected] "\n "
40 [email protected] "//! Nor are ModuleDoc ..."
41 [email protected] "\n "
42 [email protected] "}"
43 [email protected] ";"
44 [email protected] "\n "
45 [email protected]
46 [email protected]
47 [email protected] "if"
48 [email protected] " "
49 [email protected]
50 [email protected]
51 [email protected] "true"
52 [email protected] " "
53 [email protected]
54 [email protected] "{"
55 [email protected] "\n "
56 [email protected]
57 [email protected] "#"
58 [email protected] "!"
59 [email protected] "["
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected] "doc"
64 [email protected]
65 [email protected] "("
66 [email protected] "\"Nor here\""
67 [email protected] ")"
68 [email protected] "]"
69 [email protected] "\n "
70 [email protected]
71 [email protected] "#"
72 [email protected] "!"
73 [email protected] "["
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "doc"
78 [email protected]
79 [email protected] "("
80 [email protected] "\"We error on each attr\""
81 [email protected] ")"
82 [email protected] "]"
83 [email protected] "\n "
84 [email protected] "//! Nor are ModuleDoc ..."
85 [email protected] "\n "
86 [email protected] "}"
87 [email protected] "\n "
88 [email protected]
89 [email protected] "while"
90 [email protected] " "
91 [email protected]
92 [email protected]
93 [email protected] "true"
94 [email protected] " "
95 [email protected]
96 [email protected] "{"
97 [email protected] "\n "
98 [email protected]
99 [email protected] "#"
100 [email protected] "!"
101 [email protected] "["
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected] "doc"
106 [email protected]
107 [email protected] "("
108 [email protected] "\"Nor here\""
109 [email protected] ")"
110 [email protected] "]"
111 [email protected] "\n "
112 [email protected] "//! Nor are ModuleDoc ..."
113 [email protected] "\n "
114 [email protected] "}"
115 [email protected] "\n"
116 [email protected] "}"
117 [email protected] "\n"
118error 39..83: A block in this position cannot accept inner attributes
119error 152..171: A block in this position cannot accept inner attributes
120error 180..212: A block in this position cannot accept inner attributes
121error 283..302: A block in this position cannot accept inner attributes
diff --git a/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rs b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rs
new file mode 100644
index 000000000..6a04f2d0a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rs
@@ -0,0 +1,15 @@
1fn block() {
2 let inner = {
3 #![doc("Inner attributes not allowed here")]
4 //! Nor are ModuleDoc comments
5 };
6 if true {
7 #![doc("Nor here")]
8 #![doc("We error on each attr")]
9 //! Nor are ModuleDoc comments
10 }
11 while true {
12 #![doc("Nor here")]
13 //! Nor are ModuleDoc comments
14 }
15}
diff --git a/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
new file mode 100644
index 000000000..672dd054a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
@@ -0,0 +1,203 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "match"
17 [email protected] " "
18 [email protected]
19 [email protected] "("
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "_"
28 [email protected] " "
29 [email protected] "=>"
30 [email protected] " "
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected] ","
35 [email protected] "\n "
36 [email protected]
37 [email protected]
38 [email protected] "#"
39 [email protected]
40 [email protected] "!"
41 [email protected]
42 [email protected] "["
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "doc"
49 [email protected]
50 [email protected] "("
51 [email protected]
52 [email protected] "\"Not allowed here\""
53 [email protected] ")"
54 [email protected] "]"
55 [email protected] "\n "
56 [email protected]
57 [email protected]
58 [email protected] "_"
59 [email protected] " "
60 [email protected] "=>"
61 [email protected] " "
62 [email protected]
63 [email protected] "("
64 [email protected] ")"
65 [email protected] ","
66 [email protected] "\n "
67 [email protected] "}"
68 [email protected] "\n\n "
69 [email protected]
70 [email protected]
71 [email protected] "match"
72 [email protected] " "
73 [email protected]
74 [email protected] "("
75 [email protected] ")"
76 [email protected] " "
77 [email protected]
78 [email protected] "{"
79 [email protected] "\n "
80 [email protected]
81 [email protected]
82 [email protected] "_"
83 [email protected] " "
84 [email protected] "=>"
85 [email protected] " "
86 [email protected]
87 [email protected] "("
88 [email protected] ")"
89 [email protected] ","
90 [email protected] "\n "
91 [email protected]
92 [email protected]
93 [email protected] "_"
94 [email protected] " "
95 [email protected] "=>"
96 [email protected] " "
97 [email protected]
98 [email protected] "("
99 [email protected] ")"
100 [email protected] ","
101 [email protected] "\n "
102 [email protected]
103 [email protected]
104 [email protected] "#"
105 [email protected]
106 [email protected] "!"
107 [email protected]
108 [email protected] "["
109 [email protected]
110 [email protected]
111 [email protected]
112 [email protected]
113 [email protected]
114 [email protected] "doc"
115 [email protected]
116 [email protected] "("
117 [email protected]
118 [email protected] "\"Nor here\""
119 [email protected] ")"
120 [email protected] "]"
121 [email protected] "\n "
122 [email protected] "}"
123 [email protected] "\n\n "
124 [email protected]
125 [email protected] "match"
126 [email protected] " "
127 [email protected]
128 [email protected] "("
129 [email protected] ")"
130 [email protected] " "
131 [email protected]
132 [email protected] "{"
133 [email protected] "\n "
134 [email protected]
135 [email protected]
136 [email protected] "#"
137 [email protected] "["
138 [email protected]
139 [email protected]
140 [email protected]
141 [email protected] "cfg"
142 [email protected]
143 [email protected] "("
144 [email protected] "test"
145 [email protected] ")"
146 [email protected] "]"
147 [email protected] "\n "
148 [email protected]
149 [email protected] "#"
150 [email protected]
151 [email protected] "!"
152 [email protected]
153 [email protected] "["
154 [email protected]
155 [email protected]
156 [email protected]
157 [email protected]
158 [email protected]
159 [email protected] "doc"
160 [email protected]
161 [email protected] "("
162 [email protected]
163 [email protected] "\"Nor here\""
164 [email protected] ")"
165 [email protected] "]"
166 [email protected] "\n "
167 [email protected]
168 [email protected]
169 [email protected] "_"
170 [email protected] " "
171 [email protected] "=>"
172 [email protected] " "
173 [email protected]
174 [email protected] "("
175 [email protected] ")"
176 [email protected] ","
177 [email protected] "\n "
178 [email protected]
179 [email protected]
180 [email protected] "_"
181 [email protected] " "
182 [email protected] "=>"
183 [email protected] " "
184 [email protected]
185 [email protected] "("
186 [email protected] ")"
187 [email protected] ","
188 [email protected] "\n "
189 [email protected] "}"
190 [email protected] "\n"
191 [email protected] "}"
192 [email protected] "\n"
193error 52..52: expected `[`
194error 52..52: expected pattern
195error 53..53: expected FAT_ARROW
196error 78..78: expected COMMA
197error 161..161: expected `[`
198error 161..161: expected pattern
199error 162..162: expected FAT_ARROW
200error 232..232: expected `[`
201error 232..232: expected pattern
202error 233..233: expected FAT_ARROW
203error 250..250: expected COMMA
diff --git a/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rs b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rs
new file mode 100644
index 000000000..06aa47770
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rs
@@ -0,0 +1,20 @@
1fn foo() {
2 match () {
3 _ => (),
4 #![doc("Not allowed here")]
5 _ => (),
6 }
7
8 match () {
9 _ => (),
10 _ => (),
11 #![doc("Nor here")]
12 }
13
14 match () {
15 #[cfg(test)]
16 #![doc("Nor here")]
17 _ => (),
18 _ => (),
19 }
20}
diff --git a/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
new file mode 100644
index 000000000..33bb085e9
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
@@ -0,0 +1,66 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "_"
27 [email protected] " "
28 [email protected] "=>"
29 [email protected] " "
30 [email protected]
31 [email protected] "("
32 [email protected] ")"
33 [email protected] ","
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected] "_"
38 [email protected] " "
39 [email protected] "=>"
40 [email protected] " "
41 [email protected]
42 [email protected] "("
43 [email protected] ")"
44 [email protected] ","
45 [email protected] "\n "
46 [email protected]
47 [email protected]
48 [email protected] "#"
49 [email protected] "["
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "cfg"
54 [email protected]
55 [email protected] "("
56 [email protected] "test"
57 [email protected] ")"
58 [email protected] "]"
59 [email protected] "\n "
60 [email protected] "}"
61 [email protected] "\n"
62 [email protected] "}"
63 [email protected] "\n"
64error 80..80: expected pattern
65error 80..80: expected FAT_ARROW
66error 80..80: expected expression
diff --git a/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rs b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rs
new file mode 100644
index 000000000..4635222da
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rs
@@ -0,0 +1,7 @@
1fn foo() {
2 match () {
3 _ => (),
4 _ => (),
5 #[cfg(test)]
6 }
7}
diff --git a/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rast b/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rast
new file mode 100644
index 000000000..d9d49bfb5
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rast
@@ -0,0 +1,95 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "ref"
19 [email protected] " "
20 [email protected]
21 [email protected] "box"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "i"
30 [email protected] " "
31 [email protected] "="
32 [email protected] " "
33 [email protected]
34 [email protected] "("
35 [email protected] ")"
36 [email protected] ";"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "let"
40 [email protected] " "
41 [email protected]
42 [email protected] "mut"
43 [email protected] " "
44 [email protected]
45 [email protected] "box"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "i"
54 [email protected] " "
55 [email protected] "="
56 [email protected] " "
57 [email protected]
58 [email protected] "("
59 [email protected] ")"
60 [email protected] ";"
61 [email protected] "\n "
62 [email protected]
63 [email protected] "let"
64 [email protected] " "
65 [email protected]
66 [email protected] "ref"
67 [email protected] " "
68 [email protected] "mut"
69 [email protected] " "
70 [email protected]
71 [email protected] "box"
72 [email protected] " "
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "i"
80 [email protected] " "
81 [email protected] "="
82 [email protected] " "
83 [email protected]
84 [email protected] "("
85 [email protected] ")"
86 [email protected] ";"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n\n"
90error 24..24: expected a name
91error 27..27: expected SEMICOLON
92error 48..48: expected a name
93error 51..51: expected SEMICOLON
94error 76..76: expected a name
95error 79..79: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rs b/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rs
new file mode 100644
index 000000000..d3fa2e468
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0034_bad_box_pattern.rs
@@ -0,0 +1,6 @@
1fn main() {
2 let ref box i = ();
3 let mut box i = ();
4 let ref mut box i = ();
5}
6
diff --git a/crates/syntax/test_data/parser/err/0035_use_recover.rast b/crates/syntax/test_data/parser/err/0035_use_recover.rast
new file mode 100644
index 000000000..2f03709eb
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0035_use_recover.rast
@@ -0,0 +1,53 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected] "foo"
11 [email protected] "::"
12 [email protected]
13 [email protected]
14 [email protected] "bar"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "use"
19 [email protected] "\n"
20 [email protected]
21 [email protected] "use"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "crate"
28 [email protected] "::"
29 [email protected]
30 [email protected]
31 [email protected] "baz"
32 [email protected] ";"
33 [email protected] "\n"
34 [email protected]
35 [email protected] "use"
36 [email protected] "\n"
37 [email protected]
38 [email protected] "fn"
39 [email protected] " "
40 [email protected]
41 [email protected] "f"
42 [email protected]
43 [email protected] "("
44 [email protected] ")"
45 [email protected] " "
46 [email protected]
47 [email protected] "{"
48 [email protected] "}"
49 [email protected] "\n"
50error 17..17: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
51error 17..17: expected SEMICOLON
52error 37..37: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
53error 37..37: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0035_use_recover.rs b/crates/syntax/test_data/parser/err/0035_use_recover.rs
new file mode 100644
index 000000000..4a2668126
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0035_use_recover.rs
@@ -0,0 +1,5 @@
1use foo::bar;
2use
3use crate::baz;
4use
5fn f() {}
diff --git a/crates/syntax/test_data/parser/err/0036_partial_use.rast b/crates/syntax/test_data/parser/err/0036_partial_use.rast
new file mode 100644
index 000000000..ef6172f8a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0036_partial_use.rast
@@ -0,0 +1,51 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "std"
10 [email protected] "::"
11 [email protected]
12 [email protected] "{"
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "error"
19 [email protected] "::"
20 [email protected]
21 [email protected]
22 [email protected] "Error"
23 [email protected]
24 [email protected] ";"
25 [email protected] "\n"
26 [email protected]
27 [email protected] "use"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "std"
35 [email protected] "::"
36 [email protected]
37 [email protected]
38 [email protected] "io"
39 [email protected]
40 [email protected] ";"
41 [email protected] "\n"
42error 22..22: expected COMMA
43error 22..22: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
44error 23..23: expected COMMA
45error 24..24: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
46error 27..27: expected COMMA
47error 35..35: expected COMMA
48error 35..35: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
49error 36..36: expected COMMA
50error 36..36: expected R_CURLY
51error 36..36: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0036_partial_use.rs b/crates/syntax/test_data/parser/err/0036_partial_use.rs
new file mode 100644
index 000000000..d521a5bb2
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0036_partial_use.rs
@@ -0,0 +1,2 @@
1use std::{error::Error;
2use std::io;
diff --git a/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rast b/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rast
new file mode 100644
index 000000000..faf87d6e5
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rast
@@ -0,0 +1,97 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "T"
10 [email protected] " "
11 [email protected] "for"
12 [email protected] " "
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] "\n "
20 [email protected]
21 [email protected] "fn"
22 [email protected] " "
23 [email protected]
24 [email protected] "foo"
25 [email protected]
26 [email protected] "("
27 [email protected] ")"
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "}"
32 [email protected] "\n "
33 [email protected]
34 [email protected]
35 [email protected] "pub"
36 [email protected] " "
37 [email protected] "fn"
38 [email protected] " "
39 [email protected]
40 [email protected] "bar"
41 [email protected]
42 [email protected] "("
43 [email protected] ")"
44 [email protected] " "
45 [email protected]
46 [email protected] "{"
47 [email protected] "}"
48 [email protected] "\n "
49 [email protected]
50 [email protected]
51 [email protected] "pub"
52 [email protected] "("
53 [email protected] "crate"
54 [email protected] ")"
55 [email protected] " "
56 [email protected] "type"
57 [email protected] " "
58 [email protected]
59 [email protected] "Baz"
60 [email protected] " "
61 [email protected] "="
62 [email protected] " "
63 [email protected]
64 [email protected] "("
65 [email protected] ")"
66 [email protected] ";"
67 [email protected] "\n "
68 [email protected]
69 [email protected]
70 [email protected] "pub"
71 [email protected] "("
72 [email protected] "crate"
73 [email protected] ")"
74 [email protected] " "
75 [email protected] "const"
76 [email protected] " "
77 [email protected]
78 [email protected] "C"
79 [email protected] ":"
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected] "i32"
86 [email protected] " "
87 [email protected] "="
88 [email protected] " "
89 [email protected]
90 [email protected] "92"
91 [email protected] ";"
92 [email protected] "\n"
93 [email protected] "}"
94 [email protected] "\n"
95error 36..39: Unnecessary visibility qualifier
96error 56..66: Unnecessary visibility qualifier
97error 86..96: Unnecessary visibility qualifier
diff --git a/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rs b/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rs
new file mode 100644
index 000000000..a43e7ef10
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0037_visibility_in_traits.rs
@@ -0,0 +1,6 @@
1impl T for () {
2 fn foo() {}
3 pub fn bar() {}
4 pub(crate) type Baz = ();
5 pub(crate) const C: i32 = 92;
6}
diff --git a/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rast b/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rast
new file mode 100644
index 000000000..bed7ad6c3
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rast
@@ -0,0 +1,29 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "0"
18 [email protected] "..="
19 [email protected] ";"
20 [email protected] "\n "
21 [email protected]
22 [email protected]
23 [email protected] "..="
24 [email protected] ";"
25 [email protected] "\n"
26 [email protected] "}"
27 [email protected] "\n"
28error 16..20: An inclusive range must have an end expression
29error 26..29: An inclusive range must have an end expression
diff --git a/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rs b/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rs
new file mode 100644
index 000000000..0b4ed7a2b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0038_endless_inclusive_range.rs
@@ -0,0 +1,4 @@
1fn main() {
2 0..=;
3 ..=;
4}
diff --git a/crates/syntax/test_data/parser/err/0039_lambda_recovery.rast b/crates/syntax/test_data/parser/err/0039_lambda_recovery.rast
new file mode 100644
index 000000000..a9c5b70fd
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0039_lambda_recovery.rast
@@ -0,0 +1,82 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "->"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "i32"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "["
29 [email protected]
30 [email protected] "1"
31 [email protected] ","
32 [email protected] " "
33 [email protected]
34 [email protected] "2"
35 [email protected] ","
36 [email protected] " "
37 [email protected]
38 [email protected] "3"
39 [email protected] "]"
40 [email protected] "."
41 [email protected]
42 [email protected] "iter"
43 [email protected]
44 [email protected] "("
45 [email protected] ")"
46 [email protected] "\n "
47 [email protected] "."
48 [email protected]
49 [email protected] "map"
50 [email protected]
51 [email protected] "("
52 [email protected]
53 [email protected]
54 [email protected] "|"
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected] "it"
59 [email protected] "|"
60 [email protected] ")"
61 [email protected] "\n "
62 [email protected] "."
63 [email protected]
64 [email protected] "max"
65 [email protected]
66 [email protected] "::"
67 [email protected] "<"
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected] "i32"
74 [email protected] ">"
75 [email protected]
76 [email protected] "("
77 [email protected] ")"
78 [email protected] ";"
79 [email protected] "\n"
80 [email protected] "}"
81 [email protected] "\n"
82error 56..56: expected expression
diff --git a/crates/syntax/test_data/parser/err/0039_lambda_recovery.rs b/crates/syntax/test_data/parser/err/0039_lambda_recovery.rs
new file mode 100644
index 000000000..a2f74bd87
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0039_lambda_recovery.rs
@@ -0,0 +1,5 @@
1fn foo() -> i32 {
2 [1, 2, 3].iter()
3 .map(|it|)
4 .max::<i32>();
5}
diff --git a/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rast b/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rast
new file mode 100644
index 000000000..284c8715b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rast
@@ -0,0 +1,91 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected] "crate"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected] "{"
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "crate"
22 [email protected] ","
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "foo"
29 [email protected] "::"
30 [email protected]
31 [email protected] "{"
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "crate"
39 [email protected] "::"
40 [email protected]
41 [email protected]
42 [email protected] "foo"
43 [email protected] "::"
44 [email protected]
45 [email protected]
46 [email protected] "bar"
47 [email protected] "::"
48 [email protected]
49 [email protected]
50 [email protected] "baz"
51 [email protected] "}"
52 [email protected] "}"
53 [email protected] ";"
54 [email protected] "\n"
55 [email protected]
56 [email protected] "use"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected] "hello"
64 [email protected] "::"
65 [email protected]
66 [email protected] "crate"
67 [email protected] ";"
68 [email protected] "\n"
69 [email protected]
70 [email protected] "use"
71 [email protected] " "
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected] "hello"
79 [email protected] "::"
80 [email protected]
81 [email protected] "crate"
82 [email protected] "::"
83 [email protected]
84 [email protected]
85 [email protected] "there"
86 [email protected] ";"
87 [email protected] "\n"
88error 6..11: The `crate` keyword is only allowed as the first segment of a path
89error 31..36: The `crate` keyword is only allowed as the first segment of a path
90error 66..71: The `crate` keyword is only allowed as the first segment of a path
91error 84..89: The `crate` keyword is only allowed as the first segment of a path
diff --git a/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rs b/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rs
new file mode 100644
index 000000000..508def2c7
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0040_illegal_crate_kw_location.rs
@@ -0,0 +1,4 @@
1use ::crate;
2use {crate, foo::{crate::foo::bar::baz}};
3use hello::crate;
4use hello::crate::there;
diff --git a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast
new file mode 100644
index 000000000..2049a9d72
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast
@@ -0,0 +1,70 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected] "super"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "a"
21 [email protected] "::"
22 [email protected]
23 [email protected] "super"
24 [email protected] ";"
25 [email protected] "\n"
26 [email protected]
27 [email protected] "use"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "super"
35 [email protected] "::"
36 [email protected]
37 [email protected]
38 [email protected] "a"
39 [email protected] "::"
40 [email protected]
41 [email protected] "super"
42 [email protected] ";"
43 [email protected] "\n"
44 [email protected]
45 [email protected] "use"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "a"
52 [email protected] "::"
53 [email protected]
54 [email protected] "{"
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "super"
60 [email protected] "::"
61 [email protected]
62 [email protected]
63 [email protected] "b"
64 [email protected] "}"
65 [email protected] ";"
66 [email protected] "\n"
67error 6..11: The `super` keyword may only be preceded by other `super`s
68error 20..25: The `super` keyword may only be preceded by other `super`s
69error 41..46: The `super` keyword may only be preceded by other `super`s
70error 56..61: The `super` keyword may only be preceded by other `super`s
diff --git a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs
new file mode 100644
index 000000000..bd4d58042
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs
@@ -0,0 +1,4 @@
1use ::super;
2use a::super;
3use super::a::super;
4use a::{super::b};
diff --git a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast
new file mode 100644
index 000000000..deadf56b4
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast
@@ -0,0 +1,27 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected] "self"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "a"
21 [email protected] "::"
22 [email protected]
23 [email protected] "self"
24 [email protected] ";"
25 [email protected] "\n"
26error 6..10: The `self` keyword is only allowed as the first segment of a path
27error 19..23: The `self` keyword is only allowed as the first segment of a path
diff --git a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs
new file mode 100644
index 000000000..b9e1d7d8b
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs
@@ -0,0 +1,2 @@
1use ::self;
2use a::self;
diff --git a/crates/syntax/test_data/parser/err/0043_weird_blocks.rast b/crates/syntax/test_data/parser/err/0043_weird_blocks.rast
new file mode 100644
index 000000000..df29017e7
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0043_weird_blocks.rast
@@ -0,0 +1,71 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "{"
17 [email protected] " "
18 [email protected]
19 [email protected] "unsafe"
20 [email protected] " "
21 [email protected]
22 [email protected] "92"
23 [email protected] " "
24 [email protected] "}"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected] "{"
29 [email protected] " "
30 [email protected]
31 [email protected] "async"
32 [email protected] " "
33 [email protected]
34 [email protected] "92"
35 [email protected] " "
36 [email protected] "}"
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected] "{"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected] "try"
45 [email protected] " "
46 [email protected]
47 [email protected] "92"
48 [email protected] " "
49 [email protected] "}"
50 [email protected] "\n "
51 [email protected]
52 [email protected] "{"
53 [email protected] " "
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected] "\'label"
58 [email protected] ":"
59 [email protected] " "
60 [email protected]
61 [email protected] "92"
62 [email protected] " "
63 [email protected] "}"
64 [email protected] "\n"
65 [email protected] "}"
66 [email protected] "\n"
67error 24..24: expected existential, fn, trait or impl
68error 41..41: expected existential, fn, trait or impl
69error 56..56: expected a block
70error 75..75: expected a loop
71error 75..75: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/err/0043_weird_blocks.rs b/crates/syntax/test_data/parser/err/0043_weird_blocks.rs
new file mode 100644
index 000000000..8fa324c1a
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0043_weird_blocks.rs
@@ -0,0 +1,6 @@
1fn main() {
2 { unsafe 92 }
3 { async 92 }
4 { try 92 }
5 { 'label: 92 }
6}
diff --git a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast
new file mode 100644
index 000000000..71aa86494
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast
@@ -0,0 +1,240 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "ForRef"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "for"
12 [email protected]
13 [email protected] "<"
14 [email protected]
15 [email protected] "\'a"
16 [email protected] ">"
17 [email protected] " "
18 [email protected]
19 [email protected] "&"
20 [email protected] "\'a"
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "u32"
27 [email protected] ";"
28 [email protected] "\n"
29 [email protected]
30 [email protected] "type"
31 [email protected] " "
32 [email protected]
33 [email protected] "ForTup"
34 [email protected] " "
35 [email protected] "="
36 [email protected] " "
37 [email protected]
38 [email protected] "for"
39 [email protected]
40 [email protected] "<"
41 [email protected]
42 [email protected] "\'a"
43 [email protected] ">"
44 [email protected] " "
45 [email protected]
46 [email protected] "("
47 [email protected]
48 [email protected] "&"
49 [email protected] "\'a"
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "u32"
56 [email protected] ","
57 [email protected] ")"
58 [email protected] ";"
59 [email protected] "\n"
60 [email protected]
61 [email protected] "type"
62 [email protected] " "
63 [email protected]
64 [email protected] "ForSlice"
65 [email protected] " "
66 [email protected] "="
67 [email protected] " "
68 [email protected]
69 [email protected] "for"
70 [email protected]
71 [email protected] "<"
72 [email protected]
73 [email protected] "\'a"
74 [email protected] ">"
75 [email protected] " "
76 [email protected]
77 [email protected] "["
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "u32"
83 [email protected] "]"
84 [email protected] ";"
85 [email protected] "\n"
86 [email protected]
87 [email protected] "type"
88 [email protected] " "
89 [email protected]
90 [email protected] "ForForFn"
91 [email protected] " "
92 [email protected] "="
93 [email protected] " "
94 [email protected]
95 [email protected] "for"
96 [email protected]
97 [email protected] "<"
98 [email protected]
99 [email protected] "\'a"
100 [email protected] ">"
101 [email protected] " "
102 [email protected]
103 [email protected] "for"
104 [email protected]
105 [email protected] "<"
106 [email protected]
107 [email protected] "\'b"
108 [email protected] ">"
109 [email protected] " "
110 [email protected]
111 [email protected] "fn"
112 [email protected]
113 [email protected] "("
114 [email protected]
115 [email protected]
116 [email protected] "&"
117 [email protected] "\'a"
118 [email protected] " "
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected] "i32"
124 [email protected] ","
125 [email protected] " "
126 [email protected]
127 [email protected]
128 [email protected] "&"
129 [email protected] "\'b"
130 [email protected] " "
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected]
135 [email protected] "i32"
136 [email protected] ")"
137 [email protected] ";"
138 [email protected] "\n"
139 [email protected]
140 [email protected] "fn"
141 [email protected] " "
142 [email protected]
143 [email protected] "for_for_for"
144 [email protected]
145 [email protected] "<"
146 [email protected]
147 [email protected]
148 [email protected] "T"
149 [email protected] ">"
150 [email protected]
151 [email protected] "("
152 [email protected] ")"
153 [email protected] "\n"
154 [email protected]
155 [email protected] "where"
156 [email protected] "\n "
157 [email protected]
158 [email protected] "for"
159 [email protected]
160 [email protected] "<"
161 [email protected]
162 [email protected] "\'a"
163 [email protected] ">"
164 [email protected] " "
165 [email protected]
166 [email protected] "for"
167 [email protected]
168 [email protected] "<"
169 [email protected]
170 [email protected] "\'b"
171 [email protected] ">"
172 [email protected] " "
173 [email protected]
174 [email protected] "for"
175 [email protected]
176 [email protected] "<"
177 [email protected]
178 [email protected] "\'c"
179 [email protected] ">"
180 [email protected] " "
181 [email protected]
182 [email protected] "fn"
183 [email protected]
184 [email protected] "("
185 [email protected]
186 [email protected]
187 [email protected] "&"
188 [email protected] "\'a"
189 [email protected] " "
190 [email protected]
191 [email protected]
192 [email protected]
193 [email protected]
194 [email protected] "T"
195 [email protected] ","
196 [email protected] " "
197 [email protected]
198 [email protected]
199 [email protected] "&"
200 [email protected] "\'b"
201 [email protected] " "
202 [email protected]
203 [email protected]
204 [email protected]
205 [email protected]
206 [email protected] "T"
207 [email protected] ","
208 [email protected] " "
209 [email protected]
210 [email protected]
211 [email protected] "&"
212 [email protected] "\'c"
213 [email protected] " "
214 [email protected]
215 [email protected]
216 [email protected]
217 [email protected]
218 [email protected] "T"
219 [email protected] ")"
220 [email protected] ":"
221 [email protected] " "
222 [email protected]
223 [email protected]
224 [email protected]
225 [email protected]
226 [email protected]
227 [email protected]
228 [email protected] "Copy"
229 [email protected] ","
230 [email protected] "\n"
231 [email protected]
232 [email protected] "{"
233 [email protected] "\n"
234 [email protected] "}"
235 [email protected] "\n"
236error 21..21: expected a function pointer or path
237error 52..52: expected a function pointer or path
238error 88..88: expected a function pointer or path
239error 119..119: expected a function pointer or path
240error 195..195: expected a function pointer or path
diff --git a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs
new file mode 100644
index 000000000..0e9f8ccb4
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs
@@ -0,0 +1,9 @@
1type ForRef = for<'a> &'a u32;
2type ForTup = for<'a> (&'a u32,);
3type ForSlice = for<'a> [u32];
4type ForForFn = for<'a> for<'b> fn(&'a i32, &'b i32);
5fn for_for_for<T>()
6where
7 for<'a> for<'b> for<'c> fn(&'a T, &'b T, &'c T): Copy,
8{
9}
diff --git a/crates/syntax/test_data/parser/err/0045_item_modifiers.rast b/crates/syntax/test_data/parser/err/0045_item_modifiers.rast
new file mode 100644
index 000000000..a6e6552a9
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0045_item_modifiers.rast
@@ -0,0 +1,45 @@
1[email protected]
2 [email protected]
3 [email protected] "unsafe"
4 [email protected] " "
5 [email protected]
6 [email protected] "async"
7 [email protected] " "
8 [email protected] "fn"
9 [email protected] " "
10 [email protected]
11 [email protected] "foo"
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] " "
16 [email protected]
17 [email protected] "{"
18 [email protected] "}"
19 [email protected] "\n"
20 [email protected]
21 [email protected] "unsafe"
22 [email protected] " "
23 [email protected] "const"
24 [email protected] " "
25 [email protected]
26 [email protected] "fn"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "bar"
33 [email protected]
34 [email protected] "("
35 [email protected] ")"
36 [email protected] " "
37 [email protected]
38 [email protected] "{"
39 [email protected] "}"
40 [email protected] "\n"
41error 6..6: expected existential, fn, trait or impl
42error 38..38: expected a name
43error 40..40: expected COLON
44error 46..46: expected SEMICOLON
45error 47..47: expected an item
diff --git a/crates/syntax/test_data/parser/err/0045_item_modifiers.rs b/crates/syntax/test_data/parser/err/0045_item_modifiers.rs
new file mode 100644
index 000000000..731e58013
--- /dev/null
+++ b/crates/syntax/test_data/parser/err/0045_item_modifiers.rs
@@ -0,0 +1,2 @@
1unsafe async fn foo() {}
2unsafe const fn bar() {}
diff --git a/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rast b/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rs b/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rs
new file mode 100644
index 000000000..ca49acb07
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/expr/err/0000_truncated_add.rs
@@ -0,0 +1 @@
1 +
diff --git a/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rast b/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rast
new file mode 100644
index 000000000..fa78a02a6
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rast
@@ -0,0 +1,8 @@
1[email protected]
2 [email protected]
3 [email protected] "1"
4 [email protected] " "
5 [email protected] "+"
6 [email protected] " "
7 [email protected]
8 [email protected] "2"
diff --git a/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rs b/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rs
new file mode 100644
index 000000000..e0ef58402
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/expr/ok/0000_add.rs
@@ -0,0 +1 @@
1 + 2
diff --git a/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rast b/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rs b/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rs
new file mode 100644
index 000000000..dc32389bb
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/item/err/0000_extra_keyword.rs
@@ -0,0 +1 @@
fn fn foo() {}
diff --git a/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rast b/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rast
new file mode 100644
index 000000000..93c429e12
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rast
@@ -0,0 +1,12 @@
1[email protected]
2 [email protected] "fn"
3 [email protected] " "
4 [email protected]
5 [email protected] "foo"
6 [email protected]
7 [email protected] "("
8 [email protected] ")"
9 [email protected] " "
10 [email protected]
11 [email protected] "{"
12 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rs b/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rs
new file mode 100644
index 000000000..8f3b7ef11
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/item/ok/0000_fn.rs
@@ -0,0 +1 @@
fn foo() {}
diff --git a/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rast b/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rs b/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rs
new file mode 100644
index 000000000..2046de049
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/err/0000_reserved_word.rs
@@ -0,0 +1 @@
struct
diff --git a/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rast b/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rs b/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rs
new file mode 100644
index 000000000..745e8d376
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/err/0001_expression.rs
@@ -0,0 +1 @@
a + b
diff --git a/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rast b/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rast
new file mode 100644
index 000000000..0c5d4360f
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rast
@@ -0,0 +1,4 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "foo"
diff --git a/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rs b/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rs
new file mode 100644
index 000000000..257cc5642
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/ok/0000_single_ident.rs
@@ -0,0 +1 @@
foo
diff --git a/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rast b/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rast
new file mode 100644
index 000000000..4a2b45e6a
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rast
@@ -0,0 +1,14 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected]
6 [email protected] "foo"
7 [email protected] "::"
8 [email protected]
9 [email protected]
10 [email protected] "bar"
11 [email protected] "::"
12 [email protected]
13 [email protected]
14 [email protected] "baz"
diff --git a/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rs b/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rs
new file mode 100644
index 000000000..81e0b21cd
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/path/ok/0001_multipart.rs
@@ -0,0 +1 @@
foo::bar::baz
diff --git a/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rast b/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rs b/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rs
new file mode 100644
index 000000000..ae26fc455
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/err/0000_reserved_word.rs
@@ -0,0 +1 @@
fn
diff --git a/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rast b/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rs b/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rs
new file mode 100644
index 000000000..61a391d08
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/err/0001_missing_paren.rs
@@ -0,0 +1 @@
Some(x
diff --git a/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rast b/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rast
new file mode 100644
index 000000000..dcf102339
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rast
@@ -0,0 +1,10 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected] "Some"
6 [email protected] "("
7 [email protected]
8 [email protected]
9 [email protected] "x"
10 [email protected] ")"
diff --git a/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rs b/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rs
new file mode 100644
index 000000000..87114dd78
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/pattern/ok/0000_enum.rs
@@ -0,0 +1 @@
Some(x)
diff --git a/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rast b/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rast
new file mode 100644
index 000000000..5df7507e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rast
@@ -0,0 +1 @@
ERROR
diff --git a/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rs b/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rs
new file mode 100644
index 000000000..caa4d7c09
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/type/err/0000_missing_close.rs
@@ -0,0 +1 @@
Result<Foo, Bar
diff --git a/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rast b/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rast
new file mode 100644
index 000000000..38c15b581
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected] "Result"
6 [email protected]
7 [email protected] "<"
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected] "Foo"
14 [email protected] ","
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "Bar"
22 [email protected] ">"
diff --git a/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rs b/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rs
new file mode 100644
index 000000000..b50b3bb3b
--- /dev/null
+++ b/crates/syntax/test_data/parser/fragments/type/ok/0000_result.rs
@@ -0,0 +1 @@
Result<Foo, Bar>
diff --git a/crates/syntax/test_data/parser/fuzz-failures/0000.rs b/crates/syntax/test_data/parser/fuzz-failures/0000.rs
new file mode 100644
index 000000000..f1d0dc343
--- /dev/null
+++ b/crates/syntax/test_data/parser/fuzz-failures/0000.rs
@@ -0,0 +1,199 @@
1//! An experimental implementation of [Rust RFC#2256 lrs);
2 let root = SyntaxNode::new_owned(root);
3 validate_block_structure(root.borrowed());
4 File { root }
5 }
6 pub fn parse(text: &str) -> File {
7 let tokens = tokenize(&text);
8 let (green, errors) = parser_impl::parse_with::<syntax_node::GreenBuilder>(
9 text, &tokens, grammar::root,
10 );
11 File::new(green, errors)
12 }
13 pub fn reparse(&self, edit: &AtomTextEdit) -> File {
14 self.incremental_reparse(edit).unwrap_or_else(|| self.full_reparse(edit))
15 }
16 pub fn incremental_reparse(&self, edit: &AtomTextEdit) -> Option<File> {
17 let (node, reparser) = find_reparsable_node(self.syntax(), edit.delete)?;
18 let text = replace_range(
19 node.text().to_string(),
20 edit.delete - node.range().start(),
21 &edit.insert,
22 );
23 let tokens = tokenize(&text);
24 if !is_balanced(&tokens) {
25 return None;
26 }
27 let (green, new_errors) = parser_impl::parse_with::<syntax_node::GreenBuilder>(
28 &te2t, &tokens, reparser,
29 );
30 let green_root = node.replace_with(green);
31 let errors = merge_errors(self.errors(), new_errors, node, edit);
32 Some(File::new(green_root, errors))
33 }
34 fn full_reparse(&self, edit: &AtomTextEdit) -> File {
35 let text = replace_range(self.syntax().text().to_string(), edit.delete, &edit.insert);
36 File::parse(&text)
37 }
38 pub fn ast(&self) -> ast::Root {
39 ast::Root::cast(self.syntax()).unwrap()
40 }
41 pub fn syntax(&self) -> SyntaxNodeRef {
42 self.root.brroowed()
43 }
44 mp_tree(root),
45 );
46 assert!(
47 node.next_sibling().is_none() && pair.prev_sibling().is_none(),
48 "\nfloating curlys at {:?}\nfile:\n{}\nerror:\n{}\n",
49 node,
50 root.text(),
51 node.text(),
52 );
53 }
54 }
55 _ => (),
56 }
57 }
58}
59
60#[derive(Debug, Clone)]
61pub struct AtomTextEdit {
62 pub delete: TextRange,
63 pub insert: String,
64}
65
66impl AtomTextEdit {
67 pub fn replace(range: TextRange, replace_with: String) -> AtomTextEdit {
68 AtomTextEdit { delete: range, insert: replace_with }
69 }
70
71 pub fn delete(range: TextRange) -> AtomTextEdit {
72 AtomTextEdit::replace(range, String::new())
73 }
74
75 pub fn insert(offset: TextUnit, text: String) -> AtomTextEdit {
76 AtomTextEdit::replace(TextRange::offset_len(offset, 0.into()), text)
77 }
78}
79
80fn find_reparsable_node(node: SyntaxNodeRef, range: TextRange) -> Option<(SyntaxNodeRef, fn(&mut Parser))> {
81 let node = algo::find_covering_node(node, range);
82 return algo::ancestors(node)
83 .filter_map(|node| reparser(node).map(|r| (node, r)))
84 .next();
85
86 fn reparser(node: SyntaxNodeRef) -> Option<fn(&mut Parser)> {
87 let res = match node.kind() {
88 BLOCK => grammar::block,
89 RECORD_FIELD_LIST => grammar::record_field_list,
90 _ => return None,
91 };
92 Some(res)
93 }
94}
95
96pub /*(meh)*/ fn replace_range(mut text: String, range: TextRange, replace_with: &str) -> String {
97 let start = u32::from(range.start()) as usize;
98 let end = u32::from(range.end()) as usize;
99 text.replace_range(start..end, replace_with);
100 text
101}
102
103fn is_balanced(tokens: &[Token]) -> bool {
104 if tokens.len() == 0
105 || tokens.first().unwrap().kind != L_CURLY
106 || tokens.last().unwrap().kind != R_CURLY {
107 return false
108 }
109 let mut balance = 0usize;
110 for t in tokens.iter() {
111 match t.kind {
112 L_CURLYt {
113 pub delete: TextRange,
114 pub insert: String,
115}
116
117impl AtomTextEdit {
118 pub fn replace(range: TextRange, replace_with: String) -> AtomTextEdit {
119 AtomTextEdit { delete: range, insert: replace_with }
120 }
121
122 pub fn delete(range: TextRange) -> AtomTextEdit {
123 AtomTextEdit::replace(range, String::new())
124 }
125
126 pub fn insert(offset: TextUnit, text: String) -> AtomTextEdit {
127 AtomTextEdit::replace(TextRange::offset_len(offset, 0.into()), text)
128 }
129}
130
131fn find_reparsable_node(node: SyntaxNodeRef, range: TextRange) -> Option<(SyntaxNodeRef, fn(&mut Parser))> {
132 let node = algo::find_covering_node(node, range);
133 return algo::ancestors(node)
134 .filter_map(|node| reparser(node).map(|r| (node, r)))
135 .next();
136
137 fn reparser(node: SyntaxNodeRef) -> Option<fn(&mut Parser)> {
138 let res = match node.kind() {
139 ;
140 let end = u32::from(range.end()) as usize;
141 text.replaT => grammar::record_field_list,
142 _ => return None,
143 };
144 Some(res)
145 }
146}
147
148pub /*(meh)*/ fn replace_range(mut text: String, range: TextRange, replace_with: &str) -> String {
149 let start = u32::from(range.start()) as usize;
150 let end = u32::from(range.end()) as usize;
151 text.replace_range(start..end, replace_with);
152 text
153}
154
155fn is_balanced(tokens: &[Token]) -> bool {
156 if tokens.len() == 0
157 || tokens.first().unwrap().kind != L_CURLY
158 || tokens.last().unwrap().kind != R_CURLY {
159 return false
160 }
161 let mut balance = 0usize;
162 for t in tokens.iter() {
163 match t.kind {
164 L_CURLY => balance += 1,
165 R_CURLY => balance = match balance.checked_sub(1) {
166 Some(b) => b,
167 None => return false,
168 },
169 _ => (),
170 }
171 }
172 balance == 0
173}
174
175fn merge_errors(
176 old_errors: Vec<SyntaxError>,
177 new_errors: Vec<SyntaxError>,
178 old_node: SyntaxNodeRef,
179 edit: &AtomTextEdit,
180) -> Vec<SyntaxError> {
181 let mut res = Vec::new();
182 for e in old_errors {
183 if e.offset < old_node.range().start() {
184 res.push(e)
185 } else if e.offset > old_node.range().end() {
186 res.push(SyntaxError {
187 msg: e.msg,
188 offset: e.offset + TextUnit::of_str(&edit.insert) - edit.delete.len(),
189 })
190 }
191 }
192 for e in new_errors {
193 res.push(SyntaxError {
194 msg: e.msg,
195 offset: e.offset + old_node.range().start(),
196 })
197 }
198 res
199}
diff --git a/crates/syntax/test_data/parser/fuzz-failures/0001.rs b/crates/syntax/test_data/parser/fuzz-failures/0001.rs
new file mode 100644
index 000000000..f1148058e
--- /dev/null
+++ b/crates/syntax/test_data/parser/fuzz-failures/0001.rs
@@ -0,0 +1,106 @@
1use syntax::{
2 File, TextRange, SyntaxNodeRef, TextUnit,
3 SyntaxKind::*,
4 algo::{find_leaf_at_offset, LeafAtOffset, find_covering_node, ancestors, Direction, siblings},
5};
6
7pub fn extend_selection(file: &File, range: TextRange) -> Option<TextRange> {
8 let syntax = file.syntax();
9 extend(syntax.borrowed(), range)
10}
11
12pub(crate) fn extend(root: SyntaxNodeRef, range: TextRange) -> Option<TextRange> {
13 if range.is_empty() {
14 let offset = range.start();
15 let mut leaves = find_leaf_at_offset(root, offset);
16 if leaves.clone().all(|it| it.kind() == WHITESPACE) {
17 return Some(extend_ws(root, leaves.next()?, offset));
18 }
19 let leaf = match leaves {
20 LeafAtOffset::None => return None,
21 LeafAtOffset::Single(l) => l,
22 LeafAtOffset::Between(l, r) => pick_best(l, r),
23 };
24 return Some(leaf.range());
25 };
26 let node = find_covering_node(root, range);
27 if node.kind() == COMMENT && range == node.range() {
28 if let Some(range) = extend_comments(node) {
29 return Some(range);
30 }
31 }
32
33 match ancestors(node).skip_while(|n| n.range() == range).next() {
34 None => None,
35 Some(parent) => Some(parent.range()),
36 }
37}
38
39fn extend_ws(root: SyntaxNodeRef, ws: SyntaxNodeRef, offset: TextUnit) -> TextRange {
40 let ws_text = ws.leaf_text().unwrap();
41 let suffix = TextRange::from_to(offset, ws.range().end()) - ws.range().start();
42 let prefix = TextRange::from_to(ws.range().start(), offset) - ws.range().start();
43 let ws_suffix = &ws_text.as_str()[suffix];
44 let ws_prefix = &ws_text.as_str()[prefix];
45 if ws_text.contains("\n") && !ws_suffix.contains("\n") {
46 if let Some(node) = ws.next_sibling() {
47 let start = match ws_prefix.rfind('\n') {
48 Some(idx) => ws.range().start() + TextUnit::from((idx + 1) as u32),
49 None => node.range().start()
50 };
51 let end = if root.text().char_at(node.range().end()) == Some('\n') {
52 node.range().end() + TextUnit::of_char('\n')
53 } else {
54 node.range().end()
55 };
56 return TextRange::from_to(start, end);
57 }
58 }
59 ws.range()
60}
61
62fn pick_best<'a>(l: SyntaxNodeRef<'a>, r: Syntd[axNodeRef<'a>) -> SyntaxNodeRef<'a> {
63 return if priority(r) > priority(l) { r } else { l };
64 fn priority(n: SyntaxNodeRef) -> usize {
65 match n.kind() {
66 WHITESPACE => 0,
67 IDENT | SELF_KW | SUPER_KW | CRATE_KW => 2,
68 _ => 1,
69 }
70 }
71}
72
73fn extend_comments(node: SyntaxNodeRef) -> Option<TextRange> {
74 let left = adj_com[ments(node, Direction::Backward);
75 let right = adj_comments(node, Direction::Forward);
76 if left != right {
77 Some(TextRange::from_to(
78 left.range().start(),
79 right.range().end(),
80 ))
81 } else {
82 None
83 }
84}
85
86fn adj_comments(node: SyntaxNodeRef, dir: Direction) -> SyntaxNodeRef {
87 let mut res = node;
88 for node in siblings(node, dir) {
89 match node.kind() {
90 COMMENT => res = node,
91 WHITESPACE if !node.leaf_text().unwrap().as_str().contains("\n\n") => (),
92 _ => break
93 }
94 }
95 res
96}
97
98#[cfg(test)]
99mod tests {
100 use super::*;
101 use test_utils::extract_offset;
102
103 fn do_check(before: &str, afters: &[&str]) {
104 let (cursor, before) = extract_offset(before);
105 let file = File::parse(&before);
106 let mut range = TextRange::of
diff --git a/crates/syntax/test_data/parser/fuzz-failures/0002.rs b/crates/syntax/test_data/parser/fuzz-failures/0002.rs
new file mode 100644
index 000000000..f35dc7289
--- /dev/null
+++ b/crates/syntax/test_data/parser/fuzz-failures/0002.rs
@@ -0,0 +1 @@
!('\ \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/fuzz-failures/0003.rs b/crates/syntax/test_data/parser/fuzz-failures/0003.rs
new file mode 100644
index 000000000..0f59c4722
--- /dev/null
+++ b/crates/syntax/test_data/parser/fuzz-failures/0003.rs
@@ -0,0 +1 @@
if'\xɿ \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/fuzz-failures/0004.rs b/crates/syntax/test_data/parser/fuzz-failures/0004.rs
new file mode 100644
index 000000000..003290f52
--- /dev/null
+++ b/crates/syntax/test_data/parser/fuzz-failures/0004.rs
@@ -0,0 +1 @@
b"\xʿ \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast b/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast
new file mode 100644
index 000000000..0b9bbec07
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast
@@ -0,0 +1,27 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "["
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] " "
16 [email protected]
17 [email protected] "92"
18 [email protected]
19 [email protected] "]"
20 [email protected]
21 [email protected] ";"
22 [email protected] "\n"
23error 12..12: expected `;` or `]`
24error 12..12: expected SEMICOLON
25error 13..13: expected an item
26error 15..15: expected an item
27error 16..16: expected an item
diff --git a/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rs b/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rs
new file mode 100644
index 000000000..a94851443
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rs
@@ -0,0 +1 @@
type T = [() 92];
diff --git a/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast b/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast
new file mode 100644
index 000000000..a4271fc87
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "\'loop"
18 [email protected] ":"
19 [email protected] " "
20 [email protected]
21 [email protected] "impl"
22 [email protected] "\n"
23 [email protected] "}"
24 [email protected] "\n"
25error 22..22: expected a loop
26error 22..22: expected SEMICOLON
27error 27..27: expected type
28error 27..27: expected `{`
diff --git a/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rs b/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rs
new file mode 100644
index 000000000..a2164c510
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0002_misplaced_label_err.rs
@@ -0,0 +1,3 @@
1fn main() {
2 'loop: impl
3}
diff --git a/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast b/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
new file mode 100644
index 000000000..0d8bf6dd6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
@@ -0,0 +1,17 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "*"
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] ";"
16 [email protected] "\n"
17error 10..10: expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate)
diff --git a/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs b/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs
new file mode 100644
index 000000000..fae705131
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs
@@ -0,0 +1 @@
type T = *();
diff --git a/crates/syntax/test_data/parser/inline/err/0004_impl_type.rast b/crates/syntax/test_data/parser/inline/err/0004_impl_type.rast
new file mode 100644
index 000000000..29d6b3974
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0004_impl_type.rast
@@ -0,0 +1,79 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "Type"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "impl"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "Trait1"
23 [email protected] " "
24 [email protected] "for"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "T"
31 [email protected] " "
32 [email protected]
33 [email protected] "{"
34 [email protected] "}"
35 [email protected] "\n"
36 [email protected]
37 [email protected] "impl"
38 [email protected] " "
39 [email protected]
40 [email protected] "impl"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "NotType"
47 [email protected] " "
48 [email protected]
49 [email protected] "{"
50 [email protected] "}"
51 [email protected] "\n"
52 [email protected]
53 [email protected] "impl"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "Trait2"
60 [email protected] " "
61 [email protected] "for"
62 [email protected] " "
63 [email protected]
64 [email protected] "impl"
65 [email protected] " "
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected] "NotType"
71 [email protected] " "
72 [email protected]
73 [email protected] "{"
74 [email protected] "}"
75 [email protected] "\n"
76error 38..38: expected trait or type
77error 38..38: expected `{`
78error 70..70: expected trait or type
79error 70..70: expected `{`
diff --git a/crates/syntax/test_data/parser/inline/err/0004_impl_type.rs b/crates/syntax/test_data/parser/inline/err/0004_impl_type.rs
new file mode 100644
index 000000000..b8c7b65e3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0004_impl_type.rs
@@ -0,0 +1,4 @@
1impl Type {}
2impl Trait1 for T {}
3impl impl NotType {}
4impl Trait2 for impl NotType {}
diff --git a/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast b/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast
new file mode 100644
index 000000000..776022fd9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "F"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected] "unsafe"
11 [email protected] " "
12 [email protected]
13 [email protected] "("
14 [email protected]
15 [email protected] ")"
16 [email protected]
17 [email protected] ";"
18 [email protected] "\n"
19error 15..15: expected `fn`
20error 15..15: expected SEMICOLON
21error 16..16: expected an item
22error 17..17: expected an item
23error 18..18: expected an item
diff --git a/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs b/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs
new file mode 100644
index 000000000..f014914ff
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs
@@ -0,0 +1 @@
type F = unsafe ();
diff --git a/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast b/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast
new file mode 100644
index 000000000..cc0f8bcaf
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast
@@ -0,0 +1,35 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected]
11 [email protected] "{"
12 [email protected] "}"
13 [email protected] " "
14 [email protected]
15 [email protected] "unsafe"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] " "
20 [email protected] "}"
21 [email protected] " "
22 [email protected]
23 [email protected] "fn"
24 [email protected] " "
25 [email protected]
26 [email protected] "bar"
27 [email protected]
28 [email protected] "("
29 [email protected] ")"
30 [email protected]
31 [email protected] "{"
32 [email protected] "}"
33 [email protected] "\n"
34error 11..11: expected an item
35error 18..18: expected an item
diff --git a/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs b/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs
new file mode 100644
index 000000000..26141e904
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs
@@ -0,0 +1 @@
fn foo(){} unsafe { } fn bar(){}
diff --git a/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast b/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast
new file mode 100644
index 000000000..2c9570678
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "async"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] " "
29 [email protected] "}"
30 [email protected] "\n"
31error 27..27: expected SEMICOLON
diff --git a/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rs b/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rs
new file mode 100644
index 000000000..9a423248c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0007_async_without_semicolon.rs
@@ -0,0 +1 @@
fn foo() { let _ = async {} }
diff --git a/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rast b/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rast
new file mode 100644
index 000000000..63a10127d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rast
@@ -0,0 +1,25 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected] "pub"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "92"
21 [email protected] ";"
22 [email protected] " "
23 [email protected] "}"
24 [email protected] "\n"
25error 14..14: expected an item
diff --git a/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rs b/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rs
new file mode 100644
index 000000000..2976f6862
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0008_pub_expr.rs
@@ -0,0 +1 @@
fn foo() { pub 92; }
diff --git a/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
new file mode 100644
index 000000000..8fd8d5e59
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
@@ -0,0 +1,58 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "#"
17 [email protected] "["
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "A"
22 [email protected] "]"
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected] "1"
27 [email protected] " "
28 [email protected] "+"
29 [email protected] " "
30 [email protected]
31 [email protected] "2"
32 [email protected] ";"
33 [email protected] "\n "
34 [email protected]
35 [email protected]
36 [email protected] "#"
37 [email protected] "["
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "B"
42 [email protected] "]"
43 [email protected] " "
44 [email protected]
45 [email protected] "if"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected] "true"
50 [email protected] " "
51 [email protected]
52 [email protected] "{"
53 [email protected] "}"
54 [email protected] ";"
55 [email protected] "\n"
56 [email protected] "}"
57 [email protected] "\n"
58error 24..24: attributes are not allowed on BIN_EXPR
diff --git a/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rs b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rs
new file mode 100644
index 000000000..d725a07ce
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 #[A] 1 + 2;
3 #[B] if true {};
4}
diff --git a/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast b/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
new file mode 100644
index 000000000..fa14e1e6d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
@@ -0,0 +1,52 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] "."
22 [email protected] "0."
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "x"
32 [email protected] "."
33 [email protected]
34 [email protected] "1i32"
35 [email protected] ";"
36 [email protected] "\n "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "x"
44 [email protected] "."
45 [email protected]
46 [email protected] "0x01"
47 [email protected] ";"
48 [email protected] "\n"
49 [email protected] "}"
50 [email protected] "\n"
51error 27..31: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
52error 39..43: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
diff --git a/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rs b/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rs
new file mode 100644
index 000000000..30cc49138
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 x.0.;
3 x.1i32;
4 x.0x01;
5}
diff --git a/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rast b/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rast
new file mode 100644
index 000000000..8d761b907
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rast
@@ -0,0 +1,21 @@
1[email protected]
2 [email protected]
3 [email protected] "static"
4 [email protected] " "
5 [email protected]
6 [email protected] "_"
7 [email protected] ":"
8 [email protected] " "
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected] "i32"
14 [email protected] " "
15 [email protected] "="
16 [email protected] " "
17 [email protected]
18 [email protected] "5"
19 [email protected] ";"
20 [email protected] "\n"
21error 7..7: expected a name
diff --git a/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rs b/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rs
new file mode 100644
index 000000000..df8cecb43
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0013_static_underscore.rs
@@ -0,0 +1 @@
static _: i32 = 5;
diff --git a/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast b/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast
new file mode 100644
index 000000000..a81c442c0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast
@@ -0,0 +1,48 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "S"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "field"
26 [email protected] " "
27 [email protected]
28 [email protected] ".."
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "S"
36 [email protected] "::"
37 [email protected]
38 [email protected]
39 [email protected] "default"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected] " "
44 [email protected] "}"
45 [email protected] "\n"
46 [email protected] "}"
47 [email protected] "\n"
48error 25..25: expected COLON
diff --git a/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs b/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs
new file mode 100644
index 000000000..a4e5b2f69
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs
@@ -0,0 +1,3 @@
1fn main() {
2 S { field ..S::default() }
3}
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
new file mode 100644
index 000000000..e872526d9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rast
@@ -0,0 +1,13 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "crate"
10 [email protected] "::"
11 [email protected] ";"
12 [email protected] "\n"
13error 11..11: expected identifier
diff --git a/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rs b/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rs
new file mode 100644
index 000000000..7510664e1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/err/0015_empty_segment.rs
@@ -0,0 +1 @@
use crate::;
diff --git a/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rast b/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
new file mode 100644
index 000000000..1e80dd7e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
@@ -0,0 +1,136 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected] "{"
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "crate"
15 [email protected] "::"
16 [email protected]
17 [email protected]
18 [email protected] "path"
19 [email protected] "::"
20 [email protected]
21 [email protected]
22 [email protected] "from"
23 [email protected] "::"
24 [email protected]
25 [email protected]
26 [email protected] "root"
27 [email protected] ","
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "or"
37 [email protected] "::"
38 [email protected]
39 [email protected]
40 [email protected] "path"
41 [email protected] "::"
42 [email protected]
43 [email protected]
44 [email protected] "from"
45 [email protected] "::"
46 [email protected]
47 [email protected]
48 [email protected] "crate_name"
49 [email protected] "}"
50 [email protected] ";"
51 [email protected] " "
52 [email protected] "// Rust 2018 (with a ..."
53 [email protected] "\n"
54 [email protected]
55 [email protected] "use"
56 [email protected] " "
57 [email protected]
58 [email protected]
59 [email protected] "{"
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected] "path"
67 [email protected] "::"
68 [email protected]
69 [email protected]
70 [email protected] "from"
71 [email protected] "::"
72 [email protected]
73 [email protected]
74 [email protected] "root"
75 [email protected] "}"
76 [email protected] ";"
77 [email protected] " "
78 [email protected] "// Rust 2015"
79 [email protected] "\n"
80 [email protected]
81 [email protected] "use"
82 [email protected] " "
83 [email protected]
84 [email protected] "::"
85 [email protected]
86 [email protected] "{"
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected] "some"
94 [email protected] "::"
95 [email protected]
96 [email protected]
97 [email protected] "arbritrary"
98 [email protected] "::"
99 [email protected]
100 [email protected]
101 [email protected] "path"
102 [email protected] "}"
103 [email protected] ";"
104 [email protected] " "
105 [email protected] "// Rust 2015"
106 [email protected] "\n"
107 [email protected]
108 [email protected] "use"
109 [email protected] " "
110 [email protected]
111 [email protected] "::"
112 [email protected]
113 [email protected] "{"
114 [email protected]
115 [email protected]
116 [email protected] "{"
117 [email protected]
118 [email protected]
119 [email protected] "{"
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected]
124 [email protected]
125 [email protected] "root"
126 [email protected] "::"
127 [email protected]
128 [email protected]
129 [email protected] "export"
130 [email protected] "}"
131 [email protected] "}"
132 [email protected] "}"
133 [email protected] ";"
134 [email protected] " "
135 [email protected] "// Nonsensical but pe ..."
136 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rs b/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rs
new file mode 100644
index 000000000..381cba1e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0002_use_tree_list.rs
@@ -0,0 +1,4 @@
1use {crate::path::from::root, or::path::from::crate_name}; // Rust 2018 (with a crate named `or`)
2use {path::from::root}; // Rust 2015
3use ::{some::arbritrary::path}; // Rust 2015
4use ::{{{root::export}}}; // Nonsensical but perfectly legal nesting
diff --git a/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rast b/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
new file mode 100644
index 000000000..62da7b887
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
@@ -0,0 +1,60 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "for_trait"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "F"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "where"
19 [email protected] "\n "
20 [email protected]
21 [email protected] "for"
22 [email protected]
23 [email protected] "<"
24 [email protected]
25 [email protected] "\'a"
26 [email protected] ">"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "F"
33 [email protected] ":"
34 [email protected] " "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "Fn"
42 [email protected]
43 [email protected] "("
44 [email protected]
45 [email protected]
46 [email protected] "&"
47 [email protected] "\'a"
48 [email protected] " "
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "str"
54 [email protected] ")"
55 [email protected] "\n"
56 [email protected]
57 [email protected] "{"
58 [email protected] " "
59 [email protected] "}"
60 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rs b/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rs
new file mode 100644
index 000000000..423bc105b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0003_where_pred_for.rs
@@ -0,0 +1,4 @@
1fn for_trait<F>()
2where
3 for<'a> F: Fn(&'a str)
4{ }
diff --git a/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast b/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
new file mode 100644
index 000000000..b650735ba
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
@@ -0,0 +1,60 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "F"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "Box"
15 [email protected]
16 [email protected] "<"
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "Fn"
23 [email protected]
24 [email protected] "("
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "i32"
31 [email protected] ","
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected] "&"
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "i32"
41 [email protected] ","
42 [email protected] " "
43 [email protected]
44 [email protected]
45 [email protected] "&"
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "i32"
51 [email protected] ","
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected] "("
56 [email protected] ")"
57 [email protected] ")"
58 [email protected] ">"
59 [email protected] ";"
60 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs b/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs
new file mode 100644
index 000000000..93636e926
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs
@@ -0,0 +1 @@
type F = Box<Fn(i32, &i32, &i32, ())>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rast b/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rast
new file mode 100644
index 000000000..8e0252ce7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rast
@@ -0,0 +1,37 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "Clone"
21 [email protected] " "
22 [email protected] "+"
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "Copy"
30 [email protected] ">"
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected]
35 [email protected] "{"
36 [email protected] "}"
37 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rs b/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rs
new file mode 100644
index 000000000..9df40ed39
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0005_function_type_params.rs
@@ -0,0 +1 @@
fn foo<T: Clone + Copy>(){}
diff --git a/crates/syntax/test_data/parser/inline/ok/0006_self_param.rast b/crates/syntax/test_data/parser/inline/ok/0006_self_param.rast
new file mode 100644
index 000000000..d24ad7423
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0006_self_param.rast
@@ -0,0 +1,116 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "S"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "fn"
16 [email protected] " "
17 [email protected]
18 [email protected] "a"
19 [email protected]
20 [email protected] "("
21 [email protected]
22 [email protected] "self"
23 [email protected] ")"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "fn"
31 [email protected] " "
32 [email protected]
33 [email protected] "b"
34 [email protected]
35 [email protected] "("
36 [email protected]
37 [email protected] "&"
38 [email protected] "self"
39 [email protected] ","
40 [email protected] ")"
41 [email protected] " "
42 [email protected]
43 [email protected] "{"
44 [email protected] "}"
45 [email protected] "\n "
46 [email protected]
47 [email protected] "fn"
48 [email protected] " "
49 [email protected]
50 [email protected] "c"
51 [email protected]
52 [email protected] "("
53 [email protected]
54 [email protected] "&"
55 [email protected] "\'a"
56 [email protected] " "
57 [email protected] "self"
58 [email protected] ","
59 [email protected] ")"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] "}"
64 [email protected] "\n "
65 [email protected]
66 [email protected] "fn"
67 [email protected] " "
68 [email protected]
69 [email protected] "d"
70 [email protected]
71 [email protected] "("
72 [email protected]
73 [email protected] "&"
74 [email protected] "\'a"
75 [email protected] " "
76 [email protected] "mut"
77 [email protected] " "
78 [email protected] "self"
79 [email protected] ","
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected]
84 [email protected] "x"
85 [email protected] ":"
86 [email protected] " "
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected] "i32"
92 [email protected] ")"
93 [email protected] " "
94 [email protected]
95 [email protected] "{"
96 [email protected] "}"
97 [email protected] "\n "
98 [email protected]
99 [email protected] "fn"
100 [email protected] " "
101 [email protected]
102 [email protected] "e"
103 [email protected]
104 [email protected] "("
105 [email protected]
106 [email protected] "mut"
107 [email protected] " "
108 [email protected] "self"
109 [email protected] ")"
110 [email protected] " "
111 [email protected]
112 [email protected] "{"
113 [email protected] "}"
114 [email protected] "\n"
115 [email protected] "}"
116 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0006_self_param.rs b/crates/syntax/test_data/parser/inline/ok/0006_self_param.rs
new file mode 100644
index 000000000..80c0a43f5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0006_self_param.rs
@@ -0,0 +1,7 @@
1impl S {
2 fn a(self) {}
3 fn b(&self,) {}
4 fn c(&'a self,) {}
5 fn d(&'a mut self, x: i32) {}
6 fn e(mut self) {}
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast b/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast
new file mode 100644
index 000000000..e95688f56
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast
@@ -0,0 +1,40 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected] "\'a"
17 [email protected] " "
18 [email protected] "+"
19 [email protected] " "
20 [email protected]
21 [email protected] "?"
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "Sized"
27 [email protected] " "
28 [email protected] "+"
29 [email protected] " "
30 [email protected]
31 [email protected] "("
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "Copy"
37 [email protected] ")"
38 [email protected] ">"
39 [email protected] ";"
40 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rs b/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rs
new file mode 100644
index 000000000..919bde0ee
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0007_type_param_bounds.rs
@@ -0,0 +1 @@
struct S<T: 'a + ?Sized + (Copy)>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0008_path_part.rast b/crates/syntax/test_data/parser/inline/ok/0008_path_part.rast
new file mode 100644
index 000000000..7d2f7eab0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0008_path_part.rast
@@ -0,0 +1,96 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "foo"
23 [email protected] "::"
24 [email protected]
25 [email protected]
26 [email protected] "Bar"
27 [email protected] " "
28 [email protected] "="
29 [email protected] " "
30 [email protected]
31 [email protected] "("
32 [email protected] ")"
33 [email protected] ";"
34 [email protected] "\n "
35 [email protected]
36 [email protected] "let"
37 [email protected] " "
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "::"
42 [email protected]
43 [email protected] "Bar"
44 [email protected] " "
45 [email protected] "="
46 [email protected] " "
47 [email protected]
48 [email protected] "("
49 [email protected] ")"
50 [email protected] ";"
51 [email protected] "\n "
52 [email protected]
53 [email protected] "let"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "Bar"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] " "
64 [email protected] ".."
65 [email protected] " "
66 [email protected] "}"
67 [email protected] " "
68 [email protected] "="
69 [email protected] " "
70 [email protected]
71 [email protected] "("
72 [email protected] ")"
73 [email protected] ";"
74 [email protected] "\n "
75 [email protected]
76 [email protected] "let"
77 [email protected] " "
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "Bar"
83 [email protected] "("
84 [email protected]
85 [email protected] ".."
86 [email protected] ")"
87 [email protected] " "
88 [email protected] "="
89 [email protected] " "
90 [email protected]
91 [email protected] "("
92 [email protected] ")"
93 [email protected] ";"
94 [email protected] "\n"
95 [email protected] "}"
96 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0008_path_part.rs b/crates/syntax/test_data/parser/inline/ok/0008_path_part.rs
new file mode 100644
index 000000000..f6e32c7c1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0008_path_part.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 let foo::Bar = ();
3 let ::Bar = ();
4 let Bar { .. } = ();
5 let Bar(..) = ();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rast b/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rast
new file mode 100644
index 000000000..f62826fd5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rast
@@ -0,0 +1,24 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "loop"
17 [email protected] " "
18 [email protected]
19 [email protected] "{"
20 [email protected] "}"
21 [email protected] ";"
22 [email protected] "\n"
23 [email protected] "}"
24 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rs b/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rs
new file mode 100644
index 000000000..9f078fa48
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0009_loop_expr.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 loop {};
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rast b/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rast
new file mode 100644
index 000000000..869875875
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rast
@@ -0,0 +1,9 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected]
7 [email protected] "{"
8 [email protected] "}"
9 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rs b/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rs
new file mode 100644
index 000000000..26a9ccd1e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0010_extern_block.rs
@@ -0,0 +1 @@
extern {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rast b/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rast
new file mode 100644
index 000000000..66a609346
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rast
@@ -0,0 +1,59 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] "."
22 [email protected]
23 [email protected] "foo"
24 [email protected] ";"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "x"
34 [email protected] "."
35 [email protected]
36 [email protected] "0"
37 [email protected] "."
38 [email protected]
39 [email protected] "bar"
40 [email protected] ";"
41 [email protected] "\n "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "x"
50 [email protected] "."
51 [email protected]
52 [email protected] "0"
53 [email protected]
54 [email protected] "("
55 [email protected] ")"
56 [email protected] ";"
57 [email protected] "\n"
58 [email protected] "}"
59 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rs b/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rs
new file mode 100644
index 000000000..b8da2ddc3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0011_field_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 x.foo;
3 x.0.bar;
4 x.0();
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast b/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast
new file mode 100644
index 000000000..28c94bfd6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast
@@ -0,0 +1,33 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] " "
8 [email protected]
9 [email protected] "where"
10 [email protected] " "
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "Foo"
17 [email protected] ":"
18 [email protected] " "
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "Copy"
26 [email protected] " "
27 [email protected] "="
28 [email protected] " "
29 [email protected]
30 [email protected] "("
31 [email protected] ")"
32 [email protected] ";"
33 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rs b/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rs
new file mode 100644
index 000000000..a602d07f0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rs
@@ -0,0 +1 @@
type Foo where Foo: Copy = ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast b/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
new file mode 100644
index 000000000..d33215b50
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
@@ -0,0 +1,35 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "M"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "*"
12 [email protected] "mut"
13 [email protected] " "
14 [email protected]
15 [email protected] "("
16 [email protected] ")"
17 [email protected] ";"
18 [email protected] "\n"
19 [email protected]
20 [email protected] "type"
21 [email protected] " "
22 [email protected]
23 [email protected] "C"
24 [email protected] " "
25 [email protected] "="
26 [email protected] " "
27 [email protected]
28 [email protected] "*"
29 [email protected] "mut"
30 [email protected] " "
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected] ";"
35 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rs b/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rs
new file mode 100644
index 000000000..04b2bb9ba
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rs
@@ -0,0 +1,2 @@
1type M = *mut ();
2type C = *mut ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0014_never_type.rast b/crates/syntax/test_data/parser/inline/ok/0014_never_type.rast
new file mode 100644
index 000000000..b1d5106ce
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0014_never_type.rast
@@ -0,0 +1,13 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Never"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "!"
12 [email protected] ";"
13 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0014_never_type.rs b/crates/syntax/test_data/parser/inline/ok/0014_never_type.rs
new file mode 100644
index 000000000..de399fcf4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0014_never_type.rs
@@ -0,0 +1 @@
type Never = !;
diff --git a/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rast b/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rast
new file mode 100644
index 000000000..104e153ce
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rast
@@ -0,0 +1,35 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "loop"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] "\n "
20 [email protected]
21 [email protected]
22 [email protected] "continue"
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "continue"
28 [email protected] " "
29 [email protected] "\'l"
30 [email protected] ";"
31 [email protected] "\n "
32 [email protected] "}"
33 [email protected] "\n"
34 [email protected] "}"
35 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rs b/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rs
new file mode 100644
index 000000000..474cc3f0e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0015_continue_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 loop {
3 continue;
4 continue 'l;
5 }
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0017_array_type.rast b/crates/syntax/test_data/parser/inline/ok/0017_array_type.rast
new file mode 100644
index 000000000..c131df1c9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0017_array_type.rast
@@ -0,0 +1,21 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "["
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] ";"
16 [email protected] " "
17 [email protected]
18 [email protected] "92"
19 [email protected] "]"
20 [email protected] ";"
21 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0017_array_type.rs b/crates/syntax/test_data/parser/inline/ok/0017_array_type.rs
new file mode 100644
index 000000000..27eb22f22
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0017_array_type.rs
@@ -0,0 +1 @@
type T = [(); 92];
diff --git a/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
new file mode 100644
index 000000000..ddbd66588
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
@@ -0,0 +1,72 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "S"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "fn"
16 [email protected] " "
17 [email protected]
18 [email protected] "a"
19 [email protected]
20 [email protected] "("
21 [email protected]
22 [email protected] "self"
23 [email protected] ":"
24 [email protected] " "
25 [email protected]
26 [email protected] "&"
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "Self"
32 [email protected] ")"
33 [email protected] " "
34 [email protected]
35 [email protected] "{"
36 [email protected] "}"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "fn"
40 [email protected] " "
41 [email protected]
42 [email protected] "b"
43 [email protected]
44 [email protected] "("
45 [email protected]
46 [email protected] "mut"
47 [email protected] " "
48 [email protected] "self"
49 [email protected] ":"
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "Box"
56 [email protected]
57 [email protected] "<"
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected] "Self"
64 [email protected] ">"
65 [email protected] ")"
66 [email protected] " "
67 [email protected]
68 [email protected] "{"
69 [email protected] "}"
70 [email protected] "\n"
71 [email protected] "}"
72 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rs b/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rs
new file mode 100644
index 000000000..6a170d5ac
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0018_arb_self_types.rs
@@ -0,0 +1,4 @@
1impl S {
2 fn a(self: &Self) {}
3 fn b(mut self: Box<Self>) {}
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rast b/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rast
new file mode 100644
index 000000000..7db38ea4d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rast
@@ -0,0 +1,44 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "*"
17 [email protected]
18 [email protected] "*"
19 [email protected]
20 [email protected] "&"
21 [email protected]
22 [email protected] "1"
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "!"
28 [email protected]
29 [email protected] "!"
30 [email protected]
31 [email protected] "true"
32 [email protected] ";"
33 [email protected] "\n "
34 [email protected]
35 [email protected]
36 [email protected] "-"
37 [email protected]
38 [email protected] "-"
39 [email protected]
40 [email protected] "1"
41 [email protected] ";"
42 [email protected] "\n"
43 [email protected] "}"
44 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rs b/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rs
new file mode 100644
index 000000000..f1c3f7118
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0019_unary_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 **&1;
3 !!true;
4 --1;
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0020_use_star.rast b/crates/syntax/test_data/parser/inline/ok/0020_use_star.rast
new file mode 100644
index 000000000..b3623c445
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0020_use_star.rast
@@ -0,0 +1,59 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected] "*"
7 [email protected] ";"
8 [email protected] "\n"
9 [email protected]
10 [email protected] "use"
11 [email protected] " "
12 [email protected]
13 [email protected] "::"
14 [email protected] "*"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "use"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "some"
26 [email protected] "::"
27 [email protected]
28 [email protected]
29 [email protected] "path"
30 [email protected] "::"
31 [email protected]
32 [email protected] "{"
33 [email protected]
34 [email protected] "*"
35 [email protected] "}"
36 [email protected] ";"
37 [email protected] "\n"
38 [email protected]
39 [email protected] "use"
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "some"
47 [email protected] "::"
48 [email protected]
49 [email protected]
50 [email protected] "path"
51 [email protected] "::"
52 [email protected]
53 [email protected] "{"
54 [email protected]
55 [email protected] "::"
56 [email protected] "*"
57 [email protected] "}"
58 [email protected] ";"
59 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0020_use_star.rs b/crates/syntax/test_data/parser/inline/ok/0020_use_star.rs
new file mode 100644
index 000000000..6f15769a8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0020_use_star.rs
@@ -0,0 +1,4 @@
1use *;
2use ::*;
3use some::path::{*};
4use some::path::{::*};
diff --git a/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rast b/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rast
new file mode 100644
index 000000000..ca0702aba
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rast
@@ -0,0 +1,78 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "F"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "type"
16 [email protected] " "
17 [email protected]
18 [email protected] "A"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "i32"
27 [email protected] ";"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "const"
31 [email protected] " "
32 [email protected]
33 [email protected] "B"
34 [email protected] ":"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "i32"
41 [email protected] " "
42 [email protected] "="
43 [email protected] " "
44 [email protected]
45 [email protected] "92"
46 [email protected] ";"
47 [email protected] "\n "
48 [email protected]
49 [email protected] "fn"
50 [email protected] " "
51 [email protected]
52 [email protected] "foo"
53 [email protected]
54 [email protected] "("
55 [email protected] ")"
56 [email protected] " "
57 [email protected]
58 [email protected] "{"
59 [email protected] "}"
60 [email protected] "\n "
61 [email protected]
62 [email protected] "fn"
63 [email protected] " "
64 [email protected]
65 [email protected] "bar"
66 [email protected]
67 [email protected] "("
68 [email protected]
69 [email protected] "&"
70 [email protected] "self"
71 [email protected] ")"
72 [email protected] " "
73 [email protected]
74 [email protected] "{"
75 [email protected] "}"
76 [email protected] "\n"
77 [email protected] "}"
78 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rs b/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rs
new file mode 100644
index 000000000..f10851487
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0021_impl_item_list.rs
@@ -0,0 +1,6 @@
1impl F {
2 type A = i32;
3 const B: i32 = 92;
4 fn foo() {}
5 fn bar(&self) {}
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rast b/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rast
new file mode 100644
index 000000000..50742cbcf
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rast
@@ -0,0 +1,53 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "pub"
5 [email protected] "("
6 [email protected] "crate"
7 [email protected] ")"
8 [email protected] " "
9 [email protected] "struct"
10 [email protected] " "
11 [email protected]
12 [email protected] "S"
13 [email protected] ";"
14 [email protected] "\n"
15 [email protected]
16 [email protected]
17 [email protected] "pub"
18 [email protected] "("
19 [email protected] "self"
20 [email protected] ")"
21 [email protected] " "
22 [email protected] "struct"
23 [email protected] " "
24 [email protected]
25 [email protected] "S"
26 [email protected] ";"
27 [email protected] "\n"
28 [email protected]
29 [email protected]
30 [email protected] "pub"
31 [email protected] "("
32 [email protected] "self"
33 [email protected] ")"
34 [email protected] " "
35 [email protected] "struct"
36 [email protected] " "
37 [email protected]
38 [email protected] "S"
39 [email protected] ";"
40 [email protected] "\n"
41 [email protected]
42 [email protected]
43 [email protected] "pub"
44 [email protected] "("
45 [email protected] "self"
46 [email protected] ")"
47 [email protected] " "
48 [email protected] "struct"
49 [email protected] " "
50 [email protected]
51 [email protected] "S"
52 [email protected] ";"
53 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rs b/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rs
new file mode 100644
index 000000000..faeefde94
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0022_crate_visibility.rs
@@ -0,0 +1,4 @@
1pub(crate) struct S;
2pub(self) struct S;
3pub(self) struct S;
4pub(self) struct S;
diff --git a/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rast b/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rast
new file mode 100644
index 000000000..e4fe2b948
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rast
@@ -0,0 +1,13 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Placeholder"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "_"
12 [email protected] ";"
13 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rs b/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rs
new file mode 100644
index 000000000..7952dbd57
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0023_placeholder_type.rs
@@ -0,0 +1 @@
type Placeholder = _;
diff --git a/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rast b/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rast
new file mode 100644
index 000000000..2dbce34b6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "["
19 [email protected]
20 [email protected]
21 [email protected] "a"
22 [email protected] ","
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected] "b"
27 [email protected] ","
28 [email protected] " "
29 [email protected]
30 [email protected] ".."
31 [email protected] "]"
32 [email protected] " "
33 [email protected] "="
34 [email protected] " "
35 [email protected]
36 [email protected] "["
37 [email protected] "]"
38 [email protected] ";"
39 [email protected] "\n"
40 [email protected] "}"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rs b/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rs
new file mode 100644
index 000000000..7955973b9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0024_slice_pat.rs
@@ -0,0 +1,3 @@
1fn main() {
2 let [a, b, ..] = [];
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rast b/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rast
new file mode 100644
index 000000000..fd819ea37
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rast
@@ -0,0 +1,17 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "["
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] "]"
16 [email protected] ";"
17 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rs b/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rs
new file mode 100644
index 000000000..4da1af827
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0025_slice_type.rs
@@ -0,0 +1 @@
type T = [()];
diff --git a/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast b/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
new file mode 100644
index 000000000..467a30134
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
@@ -0,0 +1,104 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "S"
22 [email protected] "("
23 [email protected] ")"
24 [email protected] " "
25 [email protected] "="
26 [email protected] " "
27 [email protected]
28 [email protected] "("
29 [email protected] ")"
30 [email protected] ";"
31 [email protected] "\n "
32 [email protected]
33 [email protected] "let"
34 [email protected] " "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected] "S"
40 [email protected] "("
41 [email protected]
42 [email protected] "_"
43 [email protected] ")"
44 [email protected] " "
45 [email protected] "="
46 [email protected] " "
47 [email protected]
48 [email protected] "("
49 [email protected] ")"
50 [email protected] ";"
51 [email protected] "\n "
52 [email protected]
53 [email protected] "let"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "S"
60 [email protected] "("
61 [email protected]
62 [email protected] "_"
63 [email protected] ","
64 [email protected] ")"
65 [email protected] " "
66 [email protected] "="
67 [email protected] " "
68 [email protected]
69 [email protected] "("
70 [email protected] ")"
71 [email protected] ";"
72 [email protected] "\n "
73 [email protected]
74 [email protected] "let"
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "S"
81 [email protected] "("
82 [email protected]
83 [email protected] "_"
84 [email protected] ","
85 [email protected] " "
86 [email protected]
87 [email protected] ".."
88 [email protected] " "
89 [email protected] ","
90 [email protected] " "
91 [email protected]
92 [email protected]
93 [email protected] "x"
94 [email protected] ")"
95 [email protected] " "
96 [email protected] "="
97 [email protected] " "
98 [email protected]
99 [email protected] "("
100 [email protected] ")"
101 [email protected] ";"
102 [email protected] "\n"
103 [email protected] "}"
104 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rs b/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rs
new file mode 100644
index 000000000..0dfe63629
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 let S() = ();
3 let S(_) = ();
4 let S(_,) = ();
5 let S(_, .. , x) = ();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rast b/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rast
new file mode 100644
index 000000000..348b54dc9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rast
@@ -0,0 +1,49 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "&"
19 [email protected]
20 [email protected]
21 [email protected] "a"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected]
26 [email protected] "("
27 [email protected] ")"
28 [email protected] ";"
29 [email protected] "\n "
30 [email protected]
31 [email protected] "let"
32 [email protected] " "
33 [email protected]
34 [email protected] "&"
35 [email protected] "mut"
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected] "b"
40 [email protected] " "
41 [email protected] "="
42 [email protected] " "
43 [email protected]
44 [email protected] "("
45 [email protected] ")"
46 [email protected] ";"
47 [email protected] "\n"
48 [email protected] "}"
49 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rs b/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rs
new file mode 100644
index 000000000..de41f5cae
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0027_ref_pat.rs
@@ -0,0 +1,4 @@
1fn main() {
2 let &a = ();
3 let &mut b = ();
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast b/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast
new file mode 100644
index 000000000..32b2959bd
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "impl"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "Iterator"
20 [email protected]
21 [email protected] "<"
22 [email protected]
23 [email protected]
24 [email protected] "Item"
25 [email protected] "="
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "Foo"
31 [email protected]
32 [email protected] "<"
33 [email protected]
34 [email protected] "\'a"
35 [email protected] ">"
36 [email protected] ">"
37 [email protected] " "
38 [email protected] "+"
39 [email protected] " "
40 [email protected]
41 [email protected] "\'a"
42 [email protected] ";"
43 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rs b/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rs
new file mode 100644
index 000000000..54c5a7c46
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0028_impl_trait_type.rs
@@ -0,0 +1 @@
type A = impl Iterator<Item=Foo<'a>> + 'a;
diff --git a/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rast b/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rast
new file mode 100644
index 000000000..e096b3a1f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rast
@@ -0,0 +1,89 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "82"
18 [email protected] " "
19 [email protected] "as"
20 [email protected] " "
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "i32"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "81"
33 [email protected] " "
34 [email protected] "as"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "i8"
41 [email protected] " "
42 [email protected] "+"
43 [email protected] " "
44 [email protected]
45 [email protected] "1"
46 [email protected] ";"
47 [email protected] "\n "
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "79"
53 [email protected] " "
54 [email protected] "as"
55 [email protected] " "
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected] "i16"
61 [email protected] " "
62 [email protected] "-"
63 [email protected] " "
64 [email protected]
65 [email protected] "1"
66 [email protected] ";"
67 [email protected] "\n "
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected] "0x36"
73 [email protected] " "
74 [email protected] "as"
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "u8"
81 [email protected] " "
82 [email protected] "<="
83 [email protected] " "
84 [email protected]
85 [email protected] "0x37"
86 [email protected] ";"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rs b/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rs
new file mode 100644
index 000000000..bfe8e4b36
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0029_cast_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 82 as i32;
3 81 as i8 + 1;
4 79 as i16 - 1;
5 0x36 as u8 <= 0x37;
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0030_cond.rast b/crates/syntax/test_data/parser/inline/ok/0030_cond.rast
new file mode 100644
index 000000000..58a97d3ad
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0030_cond.rast
@@ -0,0 +1,202 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "if"
16 [email protected] " "
17 [email protected]
18 [email protected] "let"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "Some"
25 [email protected] "("
26 [email protected]
27 [email protected] "_"
28 [email protected] ")"
29 [email protected] " "
30 [email protected] "="
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "None"
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected] "}"
41 [email protected] " "
42 [email protected] "}"
43 [email protected] "\n"
44 [email protected]
45 [email protected] "fn"
46 [email protected] " "
47 [email protected]
48 [email protected] "bar"
49 [email protected]
50 [email protected] "("
51 [email protected] ")"
52 [email protected] " "
53 [email protected]
54 [email protected] "{"
55 [email protected] "\n "
56 [email protected]
57 [email protected]
58 [email protected] "if"
59 [email protected] " "
60 [email protected]
61 [email protected] "let"
62 [email protected] " "
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected] "Some"
69 [email protected] "("
70 [email protected]
71 [email protected] "_"
72 [email protected] ")"
73 [email protected] " "
74 [email protected] "|"
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "Some"
81 [email protected] "("
82 [email protected]
83 [email protected] "_"
84 [email protected] ")"
85 [email protected] " "
86 [email protected] "="
87 [email protected] " "
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected] "None"
93 [email protected] " "
94 [email protected]
95 [email protected] "{"
96 [email protected] "}"
97 [email protected] "\n "
98 [email protected]
99 [email protected]
100 [email protected] "if"
101 [email protected] " "
102 [email protected]
103 [email protected] "let"
104 [email protected] " "
105 [email protected] "|"
106 [email protected] " "
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected] "Some"
112 [email protected] "("
113 [email protected]
114 [email protected] "_"
115 [email protected] ")"
116 [email protected] " "
117 [email protected] "="
118 [email protected] " "
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected] "None"
124 [email protected] " "
125 [email protected]
126 [email protected] "{"
127 [email protected] "}"
128 [email protected] "\n "
129 [email protected]
130 [email protected]
131 [email protected] "while"
132 [email protected] " "
133 [email protected]
134 [email protected] "let"
135 [email protected] " "
136 [email protected]
137 [email protected]
138 [email protected]
139 [email protected]
140 [email protected]
141 [email protected] "Some"
142 [email protected] "("
143 [email protected]
144 [email protected] "_"
145 [email protected] ")"
146 [email protected] " "
147 [email protected] "|"
148 [email protected] " "
149 [email protected]
150 [email protected]
151 [email protected]
152 [email protected]
153 [email protected] "Some"
154 [email protected] "("
155 [email protected]
156 [email protected] "_"
157 [email protected] ")"
158 [email protected] " "
159 [email protected] "="
160 [email protected] " "
161 [email protected]
162 [email protected]
163 [email protected]
164 [email protected]
165 [email protected] "None"
166 [email protected] " "
167 [email protected]
168 [email protected] "{"
169 [email protected] "}"
170 [email protected] "\n "
171 [email protected]
172 [email protected] "while"
173 [email protected] " "
174 [email protected]
175 [email protected] "let"
176 [email protected] " "
177 [email protected] "|"
178 [email protected] " "
179 [email protected]
180 [email protected]
181 [email protected]
182 [email protected]
183 [email protected] "Some"
184 [email protected] "("
185 [email protected]
186 [email protected] "_"
187 [email protected] ")"
188 [email protected] " "
189 [email protected] "="
190 [email protected] " "
191 [email protected]
192 [email protected]
193 [email protected]
194 [email protected]
195 [email protected] "None"
196 [email protected] " "
197 [email protected]
198 [email protected] "{"
199 [email protected] "}"
200 [email protected] "\n"
201 [email protected] "}"
202 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0030_cond.rs b/crates/syntax/test_data/parser/inline/ok/0030_cond.rs
new file mode 100644
index 000000000..2552a2621
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0030_cond.rs
@@ -0,0 +1,7 @@
1fn foo() { if let Some(_) = None {} }
2fn bar() {
3 if let Some(_) | Some(_) = None {}
4 if let | Some(_) = None {}
5 while let Some(_) | Some(_) = None {}
6 while let | Some(_) = None {}
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rast b/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rast
new file mode 100644
index 000000000..173cecf6d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rast
@@ -0,0 +1,84 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "while"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "true"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] ";"
26 [email protected] "\n "
27 [email protected]
28 [email protected]
29 [email protected] "while"
30 [email protected] " "
31 [email protected]
32 [email protected] "let"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "Some"
39 [email protected] "("
40 [email protected]
41 [email protected]
42 [email protected] "x"
43 [email protected] ")"
44 [email protected] " "
45 [email protected] "="
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "it"
53 [email protected] "."
54 [email protected]
55 [email protected] "next"
56 [email protected]
57 [email protected] "("
58 [email protected] ")"
59 [email protected] " "
60 [email protected]
61 [email protected] "{"
62 [email protected] "}"
63 [email protected] ";"
64 [email protected] "\n "
65 [email protected]
66 [email protected]
67 [email protected] "while"
68 [email protected] " "
69 [email protected]
70 [email protected]
71 [email protected] "{"
72 [email protected] " "
73 [email protected]
74 [email protected] "true"
75 [email protected] " "
76 [email protected] "}"
77 [email protected] " "
78 [email protected]
79 [email protected] "{"
80 [email protected] "}"
81 [email protected] ";"
82 [email protected] "\n"
83 [email protected] "}"
84 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rs b/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rs
new file mode 100644
index 000000000..2f8188160
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0031_while_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 while true {};
3 while let Some(x) = it.next() {};
4 while { true } {};
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast b/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
new file mode 100644
index 000000000..dda6577ed
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
@@ -0,0 +1,98 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "fn"
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "type"
19 [email protected] " "
20 [email protected]
21 [email protected] "B"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected]
26 [email protected] "unsafe"
27 [email protected] " "
28 [email protected] "fn"
29 [email protected]
30 [email protected] "("
31 [email protected] ")"
32 [email protected] ";"
33 [email protected] "\n"
34 [email protected]
35 [email protected] "type"
36 [email protected] " "
37 [email protected]
38 [email protected] "C"
39 [email protected] " "
40 [email protected] "="
41 [email protected] " "
42 [email protected]
43 [email protected] "unsafe"
44 [email protected] " "
45 [email protected]
46 [email protected] "extern"
47 [email protected] " "
48 [email protected] "\"C\""
49 [email protected] " "
50 [email protected] "fn"
51 [email protected]
52 [email protected] "("
53 [email protected] ")"
54 [email protected] ";"
55 [email protected] "\n"
56 [email protected]
57 [email protected] "type"
58 [email protected] " "
59 [email protected]
60 [email protected] "D"
61 [email protected] " "
62 [email protected] "="
63 [email protected] " "
64 [email protected]
65 [email protected]
66 [email protected] "extern"
67 [email protected] " "
68 [email protected] "\"C\""
69 [email protected] " "
70 [email protected] "fn"
71 [email protected] " "
72 [email protected]
73 [email protected] "("
74 [email protected] " "
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "u8"
81 [email protected] " "
82 [email protected] ","
83 [email protected] " "
84 [email protected]
85 [email protected] "..."
86 [email protected] " "
87 [email protected] ")"
88 [email protected] " "
89 [email protected]
90 [email protected] "->"
91 [email protected] " "
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected] "u8"
97 [email protected] ";"
98 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rs b/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rs
new file mode 100644
index 000000000..9493da83d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rs
@@ -0,0 +1,4 @@
1type A = fn();
2type B = unsafe fn();
3type C = unsafe extern "C" fn();
4type D = extern "C" fn ( u8 , ... ) -> u8;
diff --git a/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rast b/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rast
new file mode 100644
index 000000000..974df9f9a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rast
@@ -0,0 +1,50 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "&"
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "type"
19 [email protected] " "
20 [email protected]
21 [email protected] "B"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected]
26 [email protected] "&"
27 [email protected] "\'static"
28 [email protected] " "
29 [email protected]
30 [email protected] "("
31 [email protected] ")"
32 [email protected] ";"
33 [email protected] "\n"
34 [email protected]
35 [email protected] "type"
36 [email protected] " "
37 [email protected]
38 [email protected] "C"
39 [email protected] " "
40 [email protected] "="
41 [email protected] " "
42 [email protected]
43 [email protected] "&"
44 [email protected] "mut"
45 [email protected] " "
46 [email protected]
47 [email protected] "("
48 [email protected] ")"
49 [email protected] ";"
50 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rs b/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rs
new file mode 100644
index 000000000..3ac0badab
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0033_reference_type;.rs
@@ -0,0 +1,3 @@
1type A = &();
2type B = &'static ();
3type C = &mut ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rast b/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rast
new file mode 100644
index 000000000..f905def6f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rast
@@ -0,0 +1,53 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "loop"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] "\n "
20 [email protected]
21 [email protected]
22 [email protected] "break"
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "break"
28 [email protected] " "
29 [email protected] "\'l"
30 [email protected] ";"
31 [email protected] "\n "
32 [email protected]
33 [email protected]
34 [email protected] "break"
35 [email protected] " "
36 [email protected]
37 [email protected] "92"
38 [email protected] ";"
39 [email protected] "\n "
40 [email protected]
41 [email protected]
42 [email protected] "break"
43 [email protected] " "
44 [email protected] "\'l"
45 [email protected] " "
46 [email protected]
47 [email protected] "92"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected] "}"
51 [email protected] "\n"
52 [email protected] "}"
53 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rs b/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rs
new file mode 100644
index 000000000..1b4094636
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0034_break_expr.rs
@@ -0,0 +1,8 @@
1fn foo() {
2 loop {
3 break;
4 break 'l;
5 break 92;
6 break 'l 92;
7 }
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rast b/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rast
new file mode 100644
index 000000000..b6379e62f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rast
@@ -0,0 +1,78 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "X"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "<"
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "A"
20 [email protected] " "
21 [email protected] "as"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "B"
28 [email protected] ">"
29 [email protected] "::"
30 [email protected]
31 [email protected]
32 [email protected] "Output"
33 [email protected] ";"
34 [email protected] "\n"
35 [email protected]
36 [email protected] "fn"
37 [email protected] " "
38 [email protected]
39 [email protected] "foo"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected] " "
44 [email protected]
45 [email protected] "{"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "<"
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected] "usize"
59 [email protected] " "
60 [email protected] "as"
61 [email protected] " "
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected] "Default"
67 [email protected] ">"
68 [email protected] "::"
69 [email protected]
70 [email protected]
71 [email protected] "default"
72 [email protected]
73 [email protected] "("
74 [email protected] ")"
75 [email protected] ";"
76 [email protected] " "
77 [email protected] "}"
78 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rs b/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rs
new file mode 100644
index 000000000..d140692e2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0037_qual_paths.rs
@@ -0,0 +1,2 @@
1type X = <A as B>::Output;
2fn foo() { <usize as Default>::default(); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rast b/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rast
new file mode 100644
index 000000000..64e705fb3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "xs"
21 [email protected] "["
22 [email protected]
23 [email protected] ".."
24 [email protected] "]"
25 [email protected] ";"
26 [email protected] " "
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rs b/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rs
new file mode 100644
index 000000000..ae21ad94c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0038_full_range_expr.rs
@@ -0,0 +1 @@
fn foo() { xs[..]; }
diff --git a/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rast b/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rast
new file mode 100644
index 000000000..69e98b9d6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rast
@@ -0,0 +1,55 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "B"
15 [email protected]
16 [email protected] "<"
17 [email protected]
18 [email protected] "\'static"
19 [email protected] ","
20 [email protected] " "
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "i32"
27 [email protected] ","
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected] "1"
32 [email protected] ","
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected] "{"
37 [email protected] " "
38 [email protected]
39 [email protected] "2"
40 [email protected] " "
41 [email protected] "}"
42 [email protected] ","
43 [email protected] " "
44 [email protected]
45 [email protected]
46 [email protected] "Item"
47 [email protected] "="
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "u64"
53 [email protected] ">"
54 [email protected] ";"
55 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rs b/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rs
new file mode 100644
index 000000000..0d07d7651
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0039_type_arg.rs
@@ -0,0 +1 @@
type A = B<'static, i32, 1, { 2 }, Item=u64>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast b/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast
new file mode 100644
index 000000000..db5bd2849
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast
@@ -0,0 +1,62 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "crate"
5 [email protected] " "
6 [email protected] "fn"
7 [email protected] " "
8 [email protected]
9 [email protected] "main"
10 [email protected]
11 [email protected] "("
12 [email protected] ")"
13 [email protected] " "
14 [email protected]
15 [email protected] "{"
16 [email protected] " "
17 [email protected] "}"
18 [email protected] "\n"
19 [email protected]
20 [email protected] "struct"
21 [email protected] " "
22 [email protected]
23 [email protected] "S"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected] "crate"
31 [email protected] " "
32 [email protected]
33 [email protected] "field"
34 [email protected] ":"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "u32"
41 [email protected] " "
42 [email protected] "}"
43 [email protected] "\n"
44 [email protected]
45 [email protected] "struct"
46 [email protected] " "
47 [email protected]
48 [email protected] "T"
49 [email protected]
50 [email protected] "("
51 [email protected]
52 [email protected]
53 [email protected] "crate"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "u32"
60 [email protected] ")"
61 [email protected] ";"
62 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rs b/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rs
new file mode 100644
index 000000000..e2b5f2161
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rs
@@ -0,0 +1,3 @@
1crate fn main() { }
2struct S { crate field: u32 }
3struct T(crate u32);
diff --git a/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rast b/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rast
new file mode 100644
index 000000000..3638462f8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rast
@@ -0,0 +1,125 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "U"
12 [email protected] ">"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "Hash"
22 [email protected] " "
23 [email protected] "+"
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "Clone"
31 [email protected] " "
32 [email protected]
33 [email protected] "where"
34 [email protected] " "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "U"
41 [email protected] ":"
42 [email protected] " "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "Copy"
50 [email protected] " "
51 [email protected]
52 [email protected] "{"
53 [email protected] "}"
54 [email protected] "\n"
55 [email protected]
56 [email protected] "trait"
57 [email protected] " "
58 [email protected]
59 [email protected] "X"
60 [email protected]
61 [email protected] "<"
62 [email protected]
63 [email protected]
64 [email protected] "U"
65 [email protected] ":"
66 [email protected] " "
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected] "Debug"
74 [email protected] " "
75 [email protected] "+"
76 [email protected] " "
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "Display"
83 [email protected] ">"
84 [email protected] ":"
85 [email protected] " "
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected] "Hash"
93 [email protected] " "
94 [email protected] "+"
95 [email protected] " "
96 [email protected]
97 [email protected]
98 [email protected]
99 [email protected]
100 [email protected]
101 [email protected] "Clone"
102 [email protected] " "
103 [email protected]
104 [email protected] "where"
105 [email protected] " "
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected] "U"
112 [email protected] ":"
113 [email protected] " "
114 [email protected]
115 [email protected]
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected]
120 [email protected] "Copy"
121 [email protected] " "
122 [email protected]
123 [email protected] "{"
124 [email protected] "}"
125 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rs b/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rs
new file mode 100644
index 000000000..32761dd03
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0041_trait_item.rs
@@ -0,0 +1,2 @@
1trait T<U>: Hash + Clone where U: Copy {}
2trait X<U: Debug + Display>: Hash + Clone where U: Copy {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rast b/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rast
new file mode 100644
index 000000000..fa38e9466
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rast
@@ -0,0 +1,147 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "f"
28 [email protected]
29 [email protected] "("
30 [email protected] ")"
31 [email protected] ";"
32 [email protected] "\n "
33 [email protected]
34 [email protected] "let"
35 [email protected] " "
36 [email protected]
37 [email protected] "_"
38 [email protected] " "
39 [email protected] "="
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "f"
49 [email protected]
50 [email protected] "("
51 [email protected] ")"
52 [email protected]
53 [email protected] "("
54 [email protected]
55 [email protected] "1"
56 [email protected] ")"
57 [email protected]
58 [email protected] "("
59 [email protected]
60 [email protected] "1"
61 [email protected] ","
62 [email protected] " "
63 [email protected]
64 [email protected] "2"
65 [email protected] ","
66 [email protected] ")"
67 [email protected] ";"
68 [email protected] "\n "
69 [email protected]
70 [email protected] "let"
71 [email protected] " "
72 [email protected]
73 [email protected] "_"
74 [email protected] " "
75 [email protected] "="
76 [email protected] " "
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "f"
83 [email protected]
84 [email protected] "("
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "<"
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected] "Foo"
96 [email protected] ">"
97 [email protected] "::"
98 [email protected]
99 [email protected]
100 [email protected] "func"
101 [email protected]
102 [email protected] "("
103 [email protected] ")"
104 [email protected] ")"
105 [email protected] ";"
106 [email protected] "\n "
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected]
112 [email protected]
113 [email protected] "f"
114 [email protected]
115 [email protected] "("
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected] "<"
122 [email protected]
123 [email protected]
124 [email protected]
125 [email protected]
126 [email protected] "Foo"
127 [email protected] " "
128 [email protected] "as"
129 [email protected] " "
130 [email protected]
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected] "Trait"
135 [email protected] ">"
136 [email protected] "::"
137 [email protected]
138 [email protected]
139 [email protected] "func"
140 [email protected]
141 [email protected] "("
142 [email protected] ")"
143 [email protected] ")"
144 [email protected] ";"
145 [email protected] "\n"
146 [email protected] "}"
147 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rs b/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rs
new file mode 100644
index 000000000..ffbf46d6d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0042_call_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 let _ = f();
3 let _ = f()(1)(1, 2,);
4 let _ = f(<Foo>::func());
5 f(<Foo as Trait>::func());
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rast b/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rast
new file mode 100644
index 000000000..60b517230
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rast
@@ -0,0 +1,138 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected] "some"
11 [email protected] "::"
12 [email protected]
13 [email protected]
14 [email protected] "path"
15 [email protected] " "
16 [email protected]
17 [email protected] "as"
18 [email protected] " "
19 [email protected]
20 [email protected] "some_name"
21 [email protected] ";"
22 [email protected] "\n"
23 [email protected]
24 [email protected] "use"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "some"
31 [email protected] "::"
32 [email protected]
33 [email protected] "{"
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "other"
41 [email protected] "::"
42 [email protected]
43 [email protected]
44 [email protected] "path"
45 [email protected] " "
46 [email protected]
47 [email protected] "as"
48 [email protected] " "
49 [email protected]
50 [email protected] "some_other_name"
51 [email protected] ","
52 [email protected] "\n "
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected] "different"
59 [email protected] "::"
60 [email protected]
61 [email protected]
62 [email protected] "path"
63 [email protected] " "
64 [email protected]
65 [email protected] "as"
66 [email protected] " "
67 [email protected]
68 [email protected] "different_name"
69 [email protected] ","
70 [email protected] "\n "
71 [email protected]
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "yet"
78 [email protected] "::"
79 [email protected]
80 [email protected]
81 [email protected] "another"
82 [email protected] "::"
83 [email protected]
84 [email protected]
85 [email protected] "path"
86 [email protected] ","
87 [email protected] "\n "
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected]
97 [email protected] "running"
98 [email protected] "::"
99 [email protected]
100 [email protected]
101 [email protected] "out"
102 [email protected] "::"
103 [email protected]
104 [email protected]
105 [email protected] "of"
106 [email protected] "::"
107 [email protected]
108 [email protected]
109 [email protected] "synonyms"
110 [email protected] "::"
111 [email protected]
112 [email protected]
113 [email protected] "for_"
114 [email protected] "::"
115 [email protected]
116 [email protected]
117 [email protected] "different"
118 [email protected] "::"
119 [email protected] "*"
120 [email protected] "\n"
121 [email protected] "}"
122 [email protected] ";"
123 [email protected] "\n"
124 [email protected]
125 [email protected] "use"
126 [email protected] " "
127 [email protected]
128 [email protected]
129 [email protected]
130 [email protected]
131 [email protected] "Trait"
132 [email protected] " "
133 [email protected]
134 [email protected] "as"
135 [email protected] " "
136 [email protected] "_"
137 [email protected] ";"
138 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rs b/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rs
new file mode 100644
index 000000000..9be50f877
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0043_use_alias.rs
@@ -0,0 +1,8 @@
1use some::path as some_name;
2use some::{
3 other::path as some_other_name,
4 different::path as different_name,
5 yet::another::path,
6 running::out::of::synonyms::for_::different::*
7};
8use Trait as _;
diff --git a/crates/syntax/test_data/parser/inline/ok/0044_block_items.rast b/crates/syntax/test_data/parser/inline/ok/0044_block_items.rast
new file mode 100644
index 000000000..1fd3cd0e7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0044_block_items.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "fn"
16 [email protected] " "
17 [email protected]
18 [email protected] "b"
19 [email protected]
20 [email protected] "("
21 [email protected] ")"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "}"
26 [email protected] " "
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0044_block_items.rs b/crates/syntax/test_data/parser/inline/ok/0044_block_items.rs
new file mode 100644
index 000000000..d9868718c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0044_block_items.rs
@@ -0,0 +1 @@
fn a() { fn b() {} }
diff --git a/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast b/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
new file mode 100644
index 000000000..6baea6e3c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
@@ -0,0 +1,46 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "F"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "FnMut"
21 [email protected]
22 [email protected] "("
23 [email protected]
24 [email protected]
25 [email protected] "&"
26 [email protected] "mut"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "Foo"
33 [email protected]
34 [email protected] "<"
35 [email protected]
36 [email protected] "\'a"
37 [email protected] ">"
38 [email protected] ")"
39 [email protected] ">"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected]
44 [email protected] "{"
45 [email protected] "}"
46 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs b/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs
new file mode 100644
index 000000000..9b93442c0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs
@@ -0,0 +1 @@
fn foo<F: FnMut(&mut Foo<'a>)>(){}
diff --git a/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast b/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast
new file mode 100644
index 000000000..e89284c14
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast
@@ -0,0 +1,20 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "("
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "i32"
17 [email protected] ","
18 [email protected] ")"
19 [email protected] ";"
20 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rs b/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rs
new file mode 100644
index 000000000..cb66bad24
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rs
@@ -0,0 +1 @@
type T = (i32,);
diff --git a/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast b/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast
new file mode 100644
index 000000000..4d8404e7c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast
@@ -0,0 +1,81 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "->"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "Box"
19 [email protected]
20 [email protected] "<"
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "T"
30 [email protected] " "
31 [email protected] "+"
32 [email protected] " "
33 [email protected]
34 [email protected] "\'f"
35 [email protected] ">"
36 [email protected] " "
37 [email protected]
38 [email protected] "{"
39 [email protected] "}"
40 [email protected] "\n"
41 [email protected]
42 [email protected] "fn"
43 [email protected] " "
44 [email protected]
45 [email protected] "foo"
46 [email protected]
47 [email protected] "("
48 [email protected] ")"
49 [email protected] " "
50 [email protected]
51 [email protected] "->"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected] "Box"
58 [email protected]
59 [email protected] "<"
60 [email protected]
61 [email protected]
62 [email protected] "dyn"
63 [email protected] " "
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected] "T"
71 [email protected] " "
72 [email protected] "+"
73 [email protected] " "
74 [email protected]
75 [email protected] "\'f"
76 [email protected] ">"
77 [email protected] " "
78 [email protected]
79 [email protected] "{"
80 [email protected] "}"
81 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rs b/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rs
new file mode 100644
index 000000000..4bb0f63b7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rs
@@ -0,0 +1,2 @@
1fn foo() -> Box<T + 'f> {}
2fn foo() -> Box<dyn T + 'f> {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rast b/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rast
new file mode 100644
index 000000000..a5bf55131
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] " "
11 [email protected]
12 [email protected] "fn"
13 [email protected] " "
14 [email protected]
15 [email protected] "foo"
16 [email protected]
17 [email protected] "("
18 [email protected] ")"
19 [email protected] ";"
20 [email protected] " "
21 [email protected] "}"
22 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rs b/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rs
new file mode 100644
index 000000000..c9f74f7f5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0050_fn_decl.rs
@@ -0,0 +1 @@
trait T { fn foo(); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rast b/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rast
new file mode 100644
index 000000000..6330dbf9e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rast
@@ -0,0 +1,14 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "("
12 [email protected] ")"
13 [email protected] ";"
14 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rs b/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rs
new file mode 100644
index 000000000..c039cf7d3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0051_unit_type.rs
@@ -0,0 +1 @@
type T = ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0052_path_type.rast b/crates/syntax/test_data/parser/inline/ok/0052_path_type.rast
new file mode 100644
index 000000000..9bc36bea7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0052_path_type.rast
@@ -0,0 +1,70 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "Foo"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "type"
19 [email protected] " "
20 [email protected]
21 [email protected] "B"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "::"
29 [email protected]
30 [email protected] "Foo"
31 [email protected] ";"
32 [email protected] "\n"
33 [email protected]
34 [email protected] "type"
35 [email protected] " "
36 [email protected]
37 [email protected] "C"
38 [email protected] " "
39 [email protected] "="
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected] "self"
46 [email protected] "::"
47 [email protected]
48 [email protected]
49 [email protected] "Foo"
50 [email protected] ";"
51 [email protected] "\n"
52 [email protected]
53 [email protected] "type"
54 [email protected] " "
55 [email protected]
56 [email protected] "D"
57 [email protected] " "
58 [email protected] "="
59 [email protected] " "
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected] "super"
65 [email protected] "::"
66 [email protected]
67 [email protected]
68 [email protected] "Foo"
69 [email protected] ";"
70 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0052_path_type.rs b/crates/syntax/test_data/parser/inline/ok/0052_path_type.rs
new file mode 100644
index 000000000..bf94f32e1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0052_path_type.rs
@@ -0,0 +1,4 @@
1type A = Foo;
2type B = ::Foo;
3type C = self::Foo;
4type D = super::Foo;
diff --git a/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rast b/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rast
new file mode 100644
index 000000000..c34cfeb31
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rast
@@ -0,0 +1,95 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "a"
27 [email protected] ";"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "let"
31 [email protected] " "
32 [email protected]
33 [email protected] "_"
34 [email protected] " "
35 [email protected] "="
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "a"
43 [email protected] "::"
44 [email protected]
45 [email protected]
46 [email protected] "b"
47 [email protected] ";"
48 [email protected] "\n "
49 [email protected]
50 [email protected] "let"
51 [email protected] " "
52 [email protected]
53 [email protected] "_"
54 [email protected] " "
55 [email protected] "="
56 [email protected] " "
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected] "::"
61 [email protected]
62 [email protected] "a"
63 [email protected]
64 [email protected] "::"
65 [email protected] "<"
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected] "b"
72 [email protected] ">"
73 [email protected] ";"
74 [email protected] "\n "
75 [email protected]
76 [email protected] "let"
77 [email protected] " "
78 [email protected]
79 [email protected] "_"
80 [email protected] " "
81 [email protected] "="
82 [email protected] " "
83 [email protected]
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "format"
88 [email protected] "!"
89 [email protected]
90 [email protected] "("
91 [email protected] ")"
92 [email protected] ";"
93 [email protected] "\n"
94 [email protected] "}"
95 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rs b/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rs
new file mode 100644
index 000000000..333ebabef
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0053_path_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 let _ = a;
3 let _ = a::b;
4 let _ = ::a::<b>;
5 let _ = format!();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
new file mode 100644
index 000000000..9ae271817
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
@@ -0,0 +1,44 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "#"
14 [email protected] "["
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "serde"
19 [email protected]
20 [email protected] "("
21 [email protected] "with"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected] "\"url_serde\""
26 [email protected] ")"
27 [email protected] "]"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "pub"
31 [email protected] " "
32 [email protected]
33 [email protected] "uri"
34 [email protected] ":"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "Uri"
41 [email protected] ","
42 [email protected] "\n"
43 [email protected] "}"
44 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rs b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rs
new file mode 100644
index 000000000..4744d8ac0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rs
@@ -0,0 +1,4 @@
1struct S {
2 #[serde(with = "url_serde")]
3 pub uri: Uri,
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rast b/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rast
new file mode 100644
index 000000000..68bb43852
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rast
@@ -0,0 +1,76 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "-"
27 [email protected]
28 [email protected] "1"
29 [email protected] " "
30 [email protected] "=>"
31 [email protected] " "
32 [email protected]
33 [email protected] "("
34 [email protected] ")"
35 [email protected] ","
36 [email protected] "\n "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "92"
41 [email protected] " "
42 [email protected] "=>"
43 [email protected] " "
44 [email protected]
45 [email protected] "("
46 [email protected] ")"
47 [email protected] ","
48 [email protected] "\n "
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "\'c\'"
53 [email protected] " "
54 [email protected] "=>"
55 [email protected] " "
56 [email protected]
57 [email protected] "("
58 [email protected] ")"
59 [email protected] ","
60 [email protected] "\n "
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected] "\"hello\""
65 [email protected] " "
66 [email protected] "=>"
67 [email protected] " "
68 [email protected]
69 [email protected] "("
70 [email protected] ")"
71 [email protected] ","
72 [email protected] "\n "
73 [email protected] "}"
74 [email protected] "\n"
75 [email protected] "}"
76 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rs b/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rs
new file mode 100644
index 000000000..6dfd67b4c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0055_literal_pattern.rs
@@ -0,0 +1,8 @@
1fn main() {
2 match () {
3 -1 => (),
4 92 => (),
5 'c' => (),
6 "hello" => (),
7 }
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rast b/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rast
new file mode 100644
index 000000000..28129c50c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rast
@@ -0,0 +1,110 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] "\n"
11 [email protected]
12 [email protected] "where"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "\'a"
16 [email protected] ":"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "\'b"
21 [email protected] " "
22 [email protected] "+"
23 [email protected] " "
24 [email protected]
25 [email protected] "\'c"
26 [email protected] ","
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "T"
34 [email protected] ":"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "Clone"
43 [email protected] " "
44 [email protected] "+"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "Copy"
52 [email protected] " "
53 [email protected] "+"
54 [email protected] " "
55 [email protected]
56 [email protected] "\'static"
57 [email protected] ","
58 [email protected] "\n "
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected] "Iterator"
66 [email protected] "::"
67 [email protected]
68 [email protected]
69 [email protected] "Item"
70 [email protected] ":"
71 [email protected] " "
72 [email protected]
73 [email protected]
74 [email protected] "\'a"
75 [email protected] ","
76 [email protected] "\n "
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "<"
83 [email protected]
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "T"
88 [email protected] " "
89 [email protected] "as"
90 [email protected] " "
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected] "Iterator"
96 [email protected] ">"
97 [email protected] "::"
98 [email protected]
99 [email protected]
100 [email protected] "Item"
101 [email protected] ":"
102 [email protected] " "
103 [email protected]
104 [email protected]
105 [email protected] "\'a"
106 [email protected] "\n"
107 [email protected]
108 [email protected] "{"
109 [email protected] "}"
110 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rs b/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rs
new file mode 100644
index 000000000..19d7e571b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0056_where_clause.rs
@@ -0,0 +1,7 @@
1fn foo()
2where
3 'a: 'b + 'c,
4 T: Clone + Copy + 'static,
5 Iterator::Item: 'a,
6 <T as Iterator>::Item: 'a
7{}
diff --git a/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rast b/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rast
new file mode 100644
index 000000000..3e72f9671
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rast
@@ -0,0 +1,82 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "92"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "0"
28 [email protected] " "
29 [email protected] "..."
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected] "100"
34 [email protected] " "
35 [email protected] "=>"
36 [email protected] " "
37 [email protected]
38 [email protected] "("
39 [email protected] ")"
40 [email protected] ","
41 [email protected] "\n "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "101"
47 [email protected] " "
48 [email protected] "..="
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected] "200"
53 [email protected] " "
54 [email protected] "=>"
55 [email protected] " "
56 [email protected]
57 [email protected] "("
58 [email protected] ")"
59 [email protected] ","
60 [email protected] "\n "
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected] "200"
66 [email protected] " "
67 [email protected] ".."
68 [email protected] " "
69 [email protected]
70 [email protected]
71 [email protected] "301"
72 [email protected] "=>"
73 [email protected] " "
74 [email protected]
75 [email protected] "("
76 [email protected] ")"
77 [email protected] ","
78 [email protected] "\n "
79 [email protected] "}"
80 [email protected] "\n"
81 [email protected] "}"
82 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rs b/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rs
new file mode 100644
index 000000000..c12ab6fce
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0058_range_pat.rs
@@ -0,0 +1,7 @@
1fn main() {
2 match 92 {
3 0 ... 100 => (),
4 101 ..= 200 => (),
5 200 .. 301=> (),
6 }
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast b/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast
new file mode 100644
index 000000000..984829317
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast
@@ -0,0 +1,58 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "_"
27 [email protected] " "
28 [email protected] "=>"
29 [email protected] " "
30 [email protected]
31 [email protected] "("
32 [email protected] ")"
33 [email protected] ","
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected] "_"
38 [email protected] " "
39 [email protected] "=>"
40 [email protected] " "
41 [email protected]
42 [email protected] "{"
43 [email protected] "}"
44 [email protected] "\n "
45 [email protected]
46 [email protected]
47 [email protected] "_"
48 [email protected] " "
49 [email protected] "=>"
50 [email protected] " "
51 [email protected]
52 [email protected] "("
53 [email protected] ")"
54 [email protected] "\n "
55 [email protected] "}"
56 [email protected] "\n"
57 [email protected] "}"
58 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rs b/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rs
new file mode 100644
index 000000000..1f25d577a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0059_match_arms_commas.rs
@@ -0,0 +1,7 @@
1fn foo() {
2 match () {
3 _ => (),
4 _ => {}
5 _ => ()
6 }
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rast b/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rast
new file mode 100644
index 000000000..25e1777d1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rast
@@ -0,0 +1,10 @@
1[email protected]
2 [email protected]
3 [email protected] "extern"
4 [email protected] " "
5 [email protected] "crate"
6 [email protected] " "
7 [email protected]
8 [email protected] "foo"
9 [email protected] ";"
10 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rs b/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rs
new file mode 100644
index 000000000..49af74e1b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0060_extern_crate.rs
@@ -0,0 +1 @@
extern crate foo;
diff --git a/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rast b/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rast
new file mode 100644
index 000000000..a9ae1aa59
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rast
@@ -0,0 +1,124 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "S"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "}"
24 [email protected] ";"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "S"
32 [email protected] " "
33 [email protected]
34 [email protected] "{"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "x"
42 [email protected] ","
43 [email protected] " "
44 [email protected]
45 [email protected]
46 [email protected] "y"
47 [email protected] ":"
48 [email protected] " "
49 [email protected]
50 [email protected] "32"
51 [email protected] ","
52 [email protected] " "
53 [email protected] "}"
54 [email protected] ";"
55 [email protected] "\n "
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "S"
62 [email protected] " "
63 [email protected]
64 [email protected] "{"
65 [email protected] " "
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected] "x"
72 [email protected] ","
73 [email protected] " "
74 [email protected]
75 [email protected]
76 [email protected] "y"
77 [email protected] ":"
78 [email protected] " "
79 [email protected]
80 [email protected] "32"
81 [email protected] ","
82 [email protected] " "
83 [email protected] ".."
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "Default"
91 [email protected] "::"
92 [email protected]
93 [email protected]
94 [email protected] "default"
95 [email protected]
96 [email protected] "("
97 [email protected] ")"
98 [email protected] " "
99 [email protected] "}"
100 [email protected] ";"
101 [email protected] "\n "
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected] "TupleStruct"
108 [email protected] " "
109 [email protected]
110 [email protected] "{"
111 [email protected] " "
112 [email protected]
113 [email protected]
114 [email protected] "0"
115 [email protected] ":"
116 [email protected] " "
117 [email protected]
118 [email protected] "1"
119 [email protected] " "
120 [email protected] "}"
121 [email protected] ";"
122 [email protected] "\n"
123 [email protected] "}"
124 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rs b/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rs
new file mode 100644
index 000000000..6285e5549
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0061_record_lit.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 S {};
3 S { x, y: 32, };
4 S { x, y: 32, ..Default::default() };
5 TupleStruct { 0: 1 };
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rast b/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rast
new file mode 100644
index 000000000..de8217064
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rast
@@ -0,0 +1,66 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "macro_rules"
20 [email protected] "!"
21 [email protected] " "
22 [email protected]
23 [email protected] "foo"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] "\n"
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "foo"
35 [email protected] "::"
36 [email protected]
37 [email protected]
38 [email protected] "bar"
39 [email protected] "!"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected] ";"
44 [email protected] "\n"
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "super"
50 [email protected] "::"
51 [email protected]
52 [email protected]
53 [email protected] "baz"
54 [email protected] "!"
55 [email protected] " "
56 [email protected]
57 [email protected] "{"
58 [email protected] "}"
59 [email protected] "\n"
60 [email protected]
61 [email protected] "struct"
62 [email protected] " "
63 [email protected]
64 [email protected] "S"
65 [email protected] ";"
66 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rs b/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rs
new file mode 100644
index 000000000..24a15c5c5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0062_mod_contents.rs
@@ -0,0 +1,5 @@
1fn foo() {}
2macro_rules! foo {}
3foo::bar!();
4super::baz! {}
5struct S;
diff --git a/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast b/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast
new file mode 100644
index 000000000..4368930cc
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected] "!"
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected] "Send"
11 [email protected] " "
12 [email protected] "for"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "X"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "}"
23 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rs b/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rs
new file mode 100644
index 000000000..b7527c870
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0063_impl_def_neg.rs
@@ -0,0 +1 @@
impl !Send for X {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rast b/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rast
new file mode 100644
index 000000000..587160003
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rast
@@ -0,0 +1,121 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "if"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "true"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] ";"
26 [email protected] "\n "
27 [email protected]
28 [email protected]
29 [email protected] "if"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected] "true"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "}"
38 [email protected] " "
39 [email protected] "else"
40 [email protected] " "
41 [email protected]
42 [email protected] "{"
43 [email protected] "}"
44 [email protected] ";"
45 [email protected] "\n "
46 [email protected]
47 [email protected]
48 [email protected] "if"
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected] "true"
53 [email protected] " "
54 [email protected]
55 [email protected] "{"
56 [email protected] "}"
57 [email protected] " "
58 [email protected] "else"
59 [email protected] " "
60 [email protected]
61 [email protected] "if"
62 [email protected] " "
63 [email protected]
64 [email protected]
65 [email protected] "false"
66 [email protected] " "
67 [email protected]
68 [email protected] "{"
69 [email protected] "}"
70 [email protected] " "
71 [email protected] "else"
72 [email protected] " "
73 [email protected]
74 [email protected] "{"
75 [email protected] "}"
76 [email protected] ";"
77 [email protected] "\n "
78 [email protected]
79 [email protected]
80 [email protected] "if"
81 [email protected] " "
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "S"
88 [email protected] " "
89 [email protected]
90 [email protected] "{"
91 [email protected] "}"
92 [email protected] ";"
93 [email protected] "\n "
94 [email protected]
95 [email protected]
96 [email protected] "if"
97 [email protected] " "
98 [email protected]
99 [email protected]
100 [email protected] "{"
101 [email protected] " "
102 [email protected]
103 [email protected] "true"
104 [email protected] " "
105 [email protected] "}"
106 [email protected] " "
107 [email protected]
108 [email protected] "{"
109 [email protected] " "
110 [email protected] "}"
111 [email protected] " "
112 [email protected] "else"
113 [email protected] " "
114 [email protected]
115 [email protected] "{"
116 [email protected] " "
117 [email protected] "}"
118 [email protected] ";"
119 [email protected] "\n"
120 [email protected] "}"
121 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rs b/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rs
new file mode 100644
index 000000000..40f227ba3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0064_if_expr.rs
@@ -0,0 +1,7 @@
1fn foo() {
2 if true {};
3 if true {} else {};
4 if true {} else if false {} else {};
5 if S {};
6 if { true } { } else { };
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast b/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast
new file mode 100644
index 000000000..3a7fcfe24
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "dyn"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "Iterator"
20 [email protected]
21 [email protected] "<"
22 [email protected]
23 [email protected]
24 [email protected] "Item"
25 [email protected] "="
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "Foo"
31 [email protected]
32 [email protected] "<"
33 [email protected]
34 [email protected] "\'a"
35 [email protected] ">"
36 [email protected] ">"
37 [email protected] " "
38 [email protected] "+"
39 [email protected] " "
40 [email protected]
41 [email protected] "\'a"
42 [email protected] ";"
43 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rs b/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rs
new file mode 100644
index 000000000..c3ecabb99
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rs
@@ -0,0 +1 @@
type A = dyn Iterator<Item=Foo<'a>> + 'a;
diff --git a/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rast b/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rast
new file mode 100644
index 000000000..57d0661a5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rast
@@ -0,0 +1,151 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "match"
17 [email protected] " "
18 [email protected]
19 [email protected] "("
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "_"
28 [email protected] " "
29 [email protected] "=>"
30 [email protected] " "
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected] ","
35 [email protected] "\n "
36 [email protected]
37 [email protected]
38 [email protected] "_"
39 [email protected] " "
40 [email protected]
41 [email protected] "if"
42 [email protected] " "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "Test"
49 [email protected] " "
50 [email protected] ">"
51 [email protected] " "
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "Test"
57 [email protected]
58 [email protected] "{"
59 [email protected]
60 [email protected]
61 [email protected] "field"
62 [email protected] ":"
63 [email protected] " "
64 [email protected]
65 [email protected] "0"
66 [email protected] "}"
67 [email protected] " "
68 [email protected] "=>"
69 [email protected] " "
70 [email protected]
71 [email protected] "("
72 [email protected] ")"
73 [email protected] ","
74 [email protected] "\n "
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "X"
80 [email protected] " "
81 [email protected] "|"
82 [email protected] " "
83 [email protected]
84 [email protected]
85 [email protected] "Y"
86 [email protected] " "
87 [email protected]
88 [email protected] "if"
89 [email protected] " "
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected] "Z"
95 [email protected] " "
96 [email protected] "=>"
97 [email protected] " "
98 [email protected]
99 [email protected] "("
100 [email protected] ")"
101 [email protected] ","
102 [email protected] "\n "
103 [email protected]
104 [email protected] "|"
105 [email protected] " "
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected] "X"
110 [email protected] " "
111 [email protected] "|"
112 [email protected] " "
113 [email protected]
114 [email protected]
115 [email protected] "Y"
116 [email protected] " "
117 [email protected]
118 [email protected] "if"
119 [email protected] " "
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected]
124 [email protected] "Z"
125 [email protected] " "
126 [email protected] "=>"
127 [email protected] " "
128 [email protected]
129 [email protected] "("
130 [email protected] ")"
131 [email protected] ","
132 [email protected] "\n "
133 [email protected]
134 [email protected] "|"
135 [email protected] " "
136 [email protected]
137 [email protected]
138 [email protected] "X"
139 [email protected] " "
140 [email protected] "=>"
141 [email protected] " "
142 [email protected]
143 [email protected] "("
144 [email protected] ")"
145 [email protected] ","
146 [email protected] "\n "
147 [email protected] "}"
148 [email protected] ";"
149 [email protected] "\n"
150 [email protected] "}"
151 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rs b/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rs
new file mode 100644
index 000000000..9e009e24f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0066_match_arm.rs
@@ -0,0 +1,9 @@
1fn foo() {
2 match () {
3 _ => (),
4 _ if Test > Test{field: 0} => (),
5 X | Y if Z => (),
6 | X | Y if Z => (),
7 | X => (),
8 };
9}
diff --git a/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rast b/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rast
new file mode 100644
index 000000000..702f2e0b0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rast
@@ -0,0 +1,15 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "crate"
10 [email protected] "::"
11 [email protected]
12 [email protected]
13 [email protected] "foo"
14 [email protected] ";"
15 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rs b/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rs
new file mode 100644
index 000000000..1bbb5930b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0067_crate_path.rs
@@ -0,0 +1 @@
use crate::foo;
diff --git a/crates/syntax/test_data/parser/inline/ok/0068_union_items.rast b/crates/syntax/test_data/parser/inline/ok/0068_union_items.rast
new file mode 100644
index 000000000..6589e4795
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0068_union_items.rast
@@ -0,0 +1,46 @@
1[email protected]
2 [email protected]
3 [email protected] "union"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "}"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "union"
14 [email protected] " "
15 [email protected]
16 [email protected] "Foo"
17 [email protected] " "
18 [email protected]
19 [email protected] "{"
20 [email protected] "\n "
21 [email protected]
22 [email protected]
23 [email protected] "a"
24 [email protected] ":"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "i32"
31 [email protected] ","
32 [email protected] "\n "
33 [email protected]
34 [email protected]
35 [email protected] "b"
36 [email protected] ":"
37 [email protected] " "
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "f32"
43 [email protected] ","
44 [email protected] "\n"
45 [email protected] "}"
46 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0068_union_items.rs b/crates/syntax/test_data/parser/inline/ok/0068_union_items.rs
new file mode 100644
index 000000000..b7dd610d8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0068_union_items.rs
@@ -0,0 +1,5 @@
1union Foo {}
2union Foo {
3 a: i32,
4 b: f32,
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast b/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast
new file mode 100644
index 000000000..c4c5bc51e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast
@@ -0,0 +1,37 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "crate"
9 [email protected] "::"
10 [email protected]
11 [email protected] "{"
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "Item"
17 [email protected] "}"
18 [email protected] ";"
19 [email protected] "\n"
20 [email protected]
21 [email protected] "use"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "self"
27 [email protected] "::"
28 [email protected]
29 [email protected] "{"
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "Item"
35 [email protected] "}"
36 [email protected] ";"
37 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rs b/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rs
new file mode 100644
index 000000000..c0a3d634e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rs
@@ -0,0 +1,2 @@
1use crate::{Item};
2use self::{Item};
diff --git a/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast b/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast
new file mode 100644
index 000000000..36c9cd5bb
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast
@@ -0,0 +1,50 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected] "{"
25 [email protected]
26 [email protected] "1"
27 [email protected] "}"
28 [email protected] " "
29 [email protected] "&"
30 [email protected] " "
31 [email protected]
32 [email protected] "2"
33 [email protected] ";"
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected] "{"
38 [email protected]
39 [email protected] "1"
40 [email protected] "}"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected] "&"
45 [email protected]
46 [email protected] "2"
47 [email protected] ";"
48 [email protected] "\n"
49 [email protected] "}"
50 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs b/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs
new file mode 100644
index 000000000..37b843742
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 let _ = {1} & 2;
3 {1} &2;
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rast b/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rast
new file mode 100644
index 000000000..d34d98ced
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rast
@@ -0,0 +1,93 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "match"
17 [email protected] " "
18 [email protected]
19 [email protected] "("
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] " "
25 [email protected] "}"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected] "match"
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "S"
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected] "}"
41 [email protected] ";"
42 [email protected] "\n "
43 [email protected]
44 [email protected]
45 [email protected] "match"
46 [email protected] " "
47 [email protected]
48 [email protected] "{"
49 [email protected] " "
50 [email protected] "}"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected] "_"
58 [email protected] " "
59 [email protected] "=>"
60 [email protected] " "
61 [email protected]
62 [email protected] "("
63 [email protected] ")"
64 [email protected] " "
65 [email protected] "}"
66 [email protected] ";"
67 [email protected] "\n "
68 [email protected]
69 [email protected]
70 [email protected] "match"
71 [email protected] " "
72 [email protected]
73 [email protected] "{"
74 [email protected] " "
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "S"
80 [email protected] " "
81 [email protected]
82 [email protected] "{"
83 [email protected] "}"
84 [email protected] " "
85 [email protected] "}"
86 [email protected] " "
87 [email protected]
88 [email protected] "{"
89 [email protected] "}"
90 [email protected] ";"
91 [email protected] "\n"
92 [email protected] "}"
93 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rs b/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rs
new file mode 100644
index 000000000..c4021dc10
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0071_match_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 match () { };
3 match S {};
4 match { } { _ => () };
5 match { S {} } {};
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rast b/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rast
new file mode 100644
index 000000000..437d7ac04
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "return"
17 [email protected] ";"
18 [email protected] "\n "
19 [email protected]
20 [email protected]
21 [email protected] "return"
22 [email protected] " "
23 [email protected]
24 [email protected] "92"
25 [email protected] ";"
26 [email protected] "\n"
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rs b/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rs
new file mode 100644
index 000000000..5733666b6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0072_return_expr.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 return;
3 return 92;
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast b/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast
new file mode 100644
index 000000000..00cce69e6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast
@@ -0,0 +1,20 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Result"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected] " "
14 [email protected] "="
15 [email protected] " "
16 [email protected]
17 [email protected] "("
18 [email protected] ")"
19 [email protected] ";"
20 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rs b/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rs
new file mode 100644
index 000000000..defd110c4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0073_type_item_type_params.rs
@@ -0,0 +1 @@
type Result<T> = ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast b/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast
new file mode 100644
index 000000000..3a789b9f5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast
@@ -0,0 +1,59 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "_"
27 [email protected] " "
28 [email protected] "=>"
29 [email protected] " "
30 [email protected]
31 [email protected] "{"
32 [email protected] "}"
33 [email protected] "\n "
34 [email protected]
35 [email protected]
36 [email protected] "("
37 [email protected] ")"
38 [email protected] " "
39 [email protected] "=>"
40 [email protected] " "
41 [email protected]
42 [email protected] "{"
43 [email protected] "}"
44 [email protected] "\n "
45 [email protected]
46 [email protected]
47 [email protected] "["
48 [email protected] "]"
49 [email protected] " "
50 [email protected] "=>"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] "}"
55 [email protected] "\n "
56 [email protected] "}"
57 [email protected] "\n"
58 [email protected] "}"
59 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs b/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs
new file mode 100644
index 000000000..2edd578f9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs
@@ -0,0 +1,7 @@
1fn foo() {
2 match () {
3 _ => {}
4 () => {}
5 [] => {}
6 }
7}
diff --git a/crates/syntax/test_data/parser/inline/ok/0075_block.rast b/crates/syntax/test_data/parser/inline/ok/0075_block.rast
new file mode 100644
index 000000000..e847ce9b2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0075_block.rast
@@ -0,0 +1,86 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "fn"
17 [email protected] " "
18 [email protected]
19 [email protected] "b"
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected] " "
24 [email protected]
25 [email protected] "{"
26 [email protected] " "
27 [email protected]
28 [email protected] "let"
29 [email protected] " "
30 [email protected]
31 [email protected] "_"
32 [email protected] " "
33 [email protected] "="
34 [email protected] " "
35 [email protected]
36 [email protected] "1"
37 [email protected] ";"
38 [email protected] " "
39 [email protected] "}"
40 [email protected] "\n"
41 [email protected]
42 [email protected] "fn"
43 [email protected] " "
44 [email protected]
45 [email protected] "c"
46 [email protected]
47 [email protected] "("
48 [email protected] ")"
49 [email protected] " "
50 [email protected]
51 [email protected] "{"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected] "1"
56 [email protected] ";"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected] "2"
61 [email protected] ";"
62 [email protected] " "
63 [email protected] "}"
64 [email protected] "\n"
65 [email protected]
66 [email protected] "fn"
67 [email protected] " "
68 [email protected]
69 [email protected] "d"
70 [email protected]
71 [email protected] "("
72 [email protected] ")"
73 [email protected] " "
74 [email protected]
75 [email protected] "{"
76 [email protected] " "
77 [email protected]
78 [email protected]
79 [email protected] "1"
80 [email protected] ";"
81 [email protected] " "
82 [email protected]
83 [email protected] "2"
84 [email protected] " "
85 [email protected] "}"
86 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0075_block.rs b/crates/syntax/test_data/parser/inline/ok/0075_block.rs
new file mode 100644
index 000000000..81f44c533
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0075_block.rs
@@ -0,0 +1,4 @@
1fn a() {}
2fn b() { let _ = 1; }
3fn c() { 1; 2; }
4fn d() { 1; 2 }
diff --git a/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rast b/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rast
new file mode 100644
index 000000000..96217a7fd
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] " "
17 [email protected]
18 [email protected] "where"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "T"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "Copy"
35 [email protected] " "
36 [email protected]
37 [email protected] "{"
38 [email protected] "}"
39 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rs b/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rs
new file mode 100644
index 000000000..f0920b2a8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0076_function_where_clause.rs
@@ -0,0 +1 @@
fn foo<T>() where T: Copy {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rast b/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rast
new file mode 100644
index 000000000..33e6fb93f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rast
@@ -0,0 +1,25 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] "?"
22 [email protected] ";"
23 [email protected] "\n"
24 [email protected] "}"
25 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rs b/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rs
new file mode 100644
index 000000000..8b74f7bc8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0077_try_expr.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 x?;
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0078_type_item.rast b/crates/syntax/test_data/parser/inline/ok/0078_type_item.rast
new file mode 100644
index 000000000..2befc8388
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0078_type_item.rast
@@ -0,0 +1,16 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "Bar"
15 [email protected] ";"
16 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0078_type_item.rs b/crates/syntax/test_data/parser/inline/ok/0078_type_item.rs
new file mode 100644
index 000000000..04c0344fa
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0078_type_item.rs
@@ -0,0 +1 @@
type Foo = Bar;
diff --git a/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rast b/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rast
new file mode 100644
index 000000000..209711fc4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rast
@@ -0,0 +1,14 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "Foo"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rs b/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rs
new file mode 100644
index 000000000..d6337f6b3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0079_impl_def.rs
@@ -0,0 +1 @@
impl Foo {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rast b/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rast
new file mode 100644
index 000000000..b3003577c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rast
@@ -0,0 +1,95 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "x"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "1"
26 [email protected] ".."
27 [email protected] ";"
28 [email protected] "\n "
29 [email protected]
30 [email protected]
31 [email protected] "match"
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected] "1"
36 [email protected] ".."
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected] "_"
44 [email protected] " "
45 [email protected] "=>"
46 [email protected] " "
47 [email protected]
48 [email protected] "("
49 [email protected] ")"
50 [email protected] " "
51 [email protected] "}"
52 [email protected] ";"
53 [email protected] "\n "
54 [email protected]
55 [email protected]
56 [email protected] "match"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected] "a"
65 [email protected] "."
66 [email protected]
67 [email protected] "b"
68 [email protected]
69 [email protected] "("
70 [email protected] ")"
71 [email protected] ".."
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected] "S"
77 [email protected] " "
78 [email protected]
79 [email protected] "{"
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected] "_"
84 [email protected] " "
85 [email protected] "=>"
86 [email protected] " "
87 [email protected]
88 [email protected] "("
89 [email protected] ")"
90 [email protected] " "
91 [email protected] "}"
92 [email protected] ";"
93 [email protected] "\n"
94 [email protected] "}"
95 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rs b/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rs
new file mode 100644
index 000000000..e7b7cfc6b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0080_postfix_range.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 let x = 1..;
3 match 1.. { _ => () };
4 match a.b()..S { _ => () };
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0081_for_type.rast b/crates/syntax/test_data/parser/inline/ok/0081_for_type.rast
new file mode 100644
index 000000000..f319d5141
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0081_for_type.rast
@@ -0,0 +1,112 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "for"
12 [email protected]
13 [email protected] "<"
14 [email protected]
15 [email protected] "\'a"
16 [email protected] ">"
17 [email protected] " "
18 [email protected]
19 [email protected] "fn"
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected] " "
24 [email protected]
25 [email protected] "->"
26 [email protected] " "
27 [email protected]
28 [email protected] "("
29 [email protected] ")"
30 [email protected] ";"
31 [email protected] "\n"
32 [email protected]
33 [email protected] "type"
34 [email protected] " "
35 [email protected]
36 [email protected] "B"
37 [email protected] " "
38 [email protected] "="
39 [email protected] " "
40 [email protected]
41 [email protected] "for"
42 [email protected]
43 [email protected] "<"
44 [email protected]
45 [email protected] "\'a"
46 [email protected] ">"
47 [email protected] " "
48 [email protected]
49 [email protected] "unsafe"
50 [email protected] " "
51 [email protected]
52 [email protected] "extern"
53 [email protected] " "
54 [email protected] "\"C\""
55 [email protected] " "
56 [email protected] "fn"
57 [email protected]
58 [email protected] "("
59 [email protected]
60 [email protected]
61 [email protected] "&"
62 [email protected] "\'a"
63 [email protected] " "
64 [email protected]
65 [email protected] "("
66 [email protected] ")"
67 [email protected] ")"
68 [email protected] " "
69 [email protected]
70 [email protected] "->"
71 [email protected] " "
72 [email protected]
73 [email protected] "("
74 [email protected] ")"
75 [email protected] ";"
76 [email protected] "\n"
77 [email protected]
78 [email protected] "type"
79 [email protected] " "
80 [email protected]
81 [email protected] "Obj"
82 [email protected] " "
83 [email protected] "="
84 [email protected] " "
85 [email protected]
86 [email protected] "for"
87 [email protected]
88 [email protected] "<"
89 [email protected]
90 [email protected] "\'a"
91 [email protected] ">"
92 [email protected] " "
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected]
97 [email protected] "PartialEq"
98 [email protected]
99 [email protected] "<"
100 [email protected]
101 [email protected]
102 [email protected] "&"
103 [email protected] "\'a"
104 [email protected] " "
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected] "i32"
110 [email protected] ">"
111 [email protected] ";"
112 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0081_for_type.rs b/crates/syntax/test_data/parser/inline/ok/0081_for_type.rs
new file mode 100644
index 000000000..8ac7b9e10
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0081_for_type.rs
@@ -0,0 +1,3 @@
1type A = for<'a> fn() -> ();
2type B = for<'a> unsafe extern "C" fn(&'a ()) -> ();
3type Obj = for<'a> PartialEq<&'a i32>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rast b/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rast
new file mode 100644
index 000000000..70b975c0b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rast
@@ -0,0 +1,138 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected] "// reference operator"
15 [email protected] "\n "
16 [email protected]
17 [email protected] "let"
18 [email protected] " "
19 [email protected]
20 [email protected] "_"
21 [email protected] " "
22 [email protected] "="
23 [email protected] " "
24 [email protected]
25 [email protected] "&"
26 [email protected]
27 [email protected] "1"
28 [email protected] ";"
29 [email protected] "\n "
30 [email protected]
31 [email protected] "let"
32 [email protected] " "
33 [email protected]
34 [email protected] "_"
35 [email protected] " "
36 [email protected] "="
37 [email protected] " "
38 [email protected]
39 [email protected] "&"
40 [email protected] "mut"
41 [email protected] " "
42 [email protected]
43 [email protected] "&"
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "f"
50 [email protected]
51 [email protected] "("
52 [email protected] ")"
53 [email protected] ";"
54 [email protected] "\n "
55 [email protected]
56 [email protected] "let"
57 [email protected] " "
58 [email protected]
59 [email protected] "_"
60 [email protected] " "
61 [email protected] "="
62 [email protected] " "
63 [email protected]
64 [email protected] "&"
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected] "raw"
70 [email protected] ";"
71 [email protected] "\n "
72 [email protected]
73 [email protected] "let"
74 [email protected] " "
75 [email protected]
76 [email protected] "_"
77 [email protected] " "
78 [email protected] "="
79 [email protected] " "
80 [email protected]
81 [email protected] "&"
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "raw"
88 [email protected] "."
89 [email protected]
90 [email protected] "0"
91 [email protected] ";"
92 [email protected] "\n "
93 [email protected] "// raw reference oper ..."
94 [email protected] "\n "
95 [email protected]
96 [email protected] "let"
97 [email protected] " "
98 [email protected]
99 [email protected] "_"
100 [email protected] " "
101 [email protected] "="
102 [email protected] " "
103 [email protected]
104 [email protected] "&"
105 [email protected] "raw"
106 [email protected] " "
107 [email protected] "mut"
108 [email protected] " "
109 [email protected]
110 [email protected]
111 [email protected]
112 [email protected]
113 [email protected] "foo"
114 [email protected] ";"
115 [email protected] "\n "
116 [email protected]
117 [email protected] "let"
118 [email protected] " "
119 [email protected]
120 [email protected] "_"
121 [email protected] " "
122 [email protected] "="
123 [email protected] " "
124 [email protected]
125 [email protected] "&"
126 [email protected] "raw"
127 [email protected] " "
128 [email protected] "const"
129 [email protected] " "
130 [email protected]
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected] "foo"
135 [email protected] ";"
136 [email protected] "\n"
137 [email protected] "}"
138 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rs b/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rs
new file mode 100644
index 000000000..c5262f446
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0082_ref_expr.rs
@@ -0,0 +1,10 @@
1fn foo() {
2 // reference operator
3 let _ = &1;
4 let _ = &mut &f();
5 let _ = &raw;
6 let _ = &raw.0;
7 // raw reference operator
8 let _ = &raw mut foo;
9 let _ = &raw const foo;
10}
diff --git a/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rast b/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rast
new file mode 100644
index 000000000..cdbc40fe0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rast
@@ -0,0 +1,87 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] ";"
8 [email protected] "\n"
9 [email protected]
10 [email protected] "struct"
11 [email protected] " "
12 [email protected]
13 [email protected] "Foo"
14 [email protected] " "
15 [email protected]
16 [email protected] "{"
17 [email protected] "}"
18 [email protected] "\n"
19 [email protected]
20 [email protected] "struct"
21 [email protected] " "
22 [email protected]
23 [email protected] "Foo"
24 [email protected]
25 [email protected] "("
26 [email protected] ")"
27 [email protected] ";"
28 [email protected] "\n"
29 [email protected]
30 [email protected] "struct"
31 [email protected] " "
32 [email protected]
33 [email protected] "Foo"
34 [email protected]
35 [email protected] "("
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "String"
42 [email protected] ","
43 [email protected] " "
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "usize"
50 [email protected] ")"
51 [email protected] ";"
52 [email protected] "\n"
53 [email protected]
54 [email protected] "struct"
55 [email protected] " "
56 [email protected]
57 [email protected] "Foo"
58 [email protected] " "
59 [email protected]
60 [email protected] "{"
61 [email protected] "\n "
62 [email protected]
63 [email protected]
64 [email protected] "a"
65 [email protected] ":"
66 [email protected] " "
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected] "i32"
72 [email protected] ","
73 [email protected] "\n "
74 [email protected]
75 [email protected]
76 [email protected] "b"
77 [email protected] ":"
78 [email protected] " "
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected]
83 [email protected] "f32"
84 [email protected] ","
85 [email protected] "\n"
86 [email protected] "}"
87 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rs b/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rs
new file mode 100644
index 000000000..693e3f3ee
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0083_struct_items.rs
@@ -0,0 +1,8 @@
1struct Foo;
2struct Foo {}
3struct Foo();
4struct Foo(String, usize);
5struct Foo {
6 a: i32,
7 b: f32,
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rast b/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rast
new file mode 100644
index 000000000..ee8894966
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rast
@@ -0,0 +1,19 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "("
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "i32"
17 [email protected] ")"
18 [email protected] ";"
19 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rs b/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rs
new file mode 100644
index 000000000..6e1b25101
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0084_paren_type.rs
@@ -0,0 +1 @@
type T = (i32);
diff --git a/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rast b/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rast
new file mode 100644
index 000000000..9a87b5b93
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rast
@@ -0,0 +1,135 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "true"
24 [email protected] ";"
25 [email protected] "\n "
26 [email protected]
27 [email protected] "let"
28 [email protected] " "
29 [email protected]
30 [email protected] "_"
31 [email protected] " "
32 [email protected] "="
33 [email protected] " "
34 [email protected]
35 [email protected] "false"
36 [email protected] ";"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "let"
40 [email protected] " "
41 [email protected]
42 [email protected] "_"
43 [email protected] " "
44 [email protected] "="
45 [email protected] " "
46 [email protected]
47 [email protected] "1"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected]
51 [email protected] "let"
52 [email protected] " "
53 [email protected]
54 [email protected] "_"
55 [email protected] " "
56 [email protected] "="
57 [email protected] " "
58 [email protected]
59 [email protected] "2.0"
60 [email protected] ";"
61 [email protected] "\n "
62 [email protected]
63 [email protected] "let"
64 [email protected] " "
65 [email protected]
66 [email protected] "_"
67 [email protected] " "
68 [email protected] "="
69 [email protected] " "
70 [email protected]
71 [email protected] "b\'a\'"
72 [email protected] ";"
73 [email protected] "\n "
74 [email protected]
75 [email protected] "let"
76 [email protected] " "
77 [email protected]
78 [email protected] "_"
79 [email protected] " "
80 [email protected] "="
81 [email protected] " "
82 [email protected]
83 [email protected] "\'b\'"
84 [email protected] ";"
85 [email protected] "\n "
86 [email protected]
87 [email protected] "let"
88 [email protected] " "
89 [email protected]
90 [email protected] "_"
91 [email protected] " "
92 [email protected] "="
93 [email protected] " "
94 [email protected]
95 [email protected] "\"c\""
96 [email protected] ";"
97 [email protected] "\n "
98 [email protected]
99 [email protected] "let"
100 [email protected] " "
101 [email protected]
102 [email protected] "_"
103 [email protected] " "
104 [email protected] "="
105 [email protected] " "
106 [email protected]
107 [email protected] "r\"d\""
108 [email protected] ";"
109 [email protected] "\n "
110 [email protected]
111 [email protected] "let"
112 [email protected] " "
113 [email protected]
114 [email protected] "_"
115 [email protected] " "
116 [email protected] "="
117 [email protected] " "
118 [email protected]
119 [email protected] "b\"e\""
120 [email protected] ";"
121 [email protected] "\n "
122 [email protected]
123 [email protected] "let"
124 [email protected] " "
125 [email protected]
126 [email protected] "_"
127 [email protected] " "
128 [email protected] "="
129 [email protected] " "
130 [email protected]
131 [email protected] "br\"f\""
132 [email protected] ";"
133 [email protected] "\n"
134 [email protected] "}"
135 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rs b/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rs
new file mode 100644
index 000000000..2e11a5a6e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0085_expr_literals.rs
@@ -0,0 +1,12 @@
1fn foo() {
2 let _ = true;
3 let _ = false;
4 let _ = 1;
5 let _ = 2.0;
6 let _ = b'a';
7 let _ = 'b';
8 let _ = "c";
9 let _ = r"d";
10 let _ = b"e";
11 let _ = br"f";
12}
diff --git a/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rast b/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rast
new file mode 100644
index 000000000..70e05a859
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "fn"
17 [email protected] " "
18 [email protected]
19 [email protected] "bar"
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected] " "
24 [email protected]
25 [email protected] "->"
26 [email protected] " "
27 [email protected]
28 [email protected] "("
29 [email protected] ")"
30 [email protected] " "
31 [email protected]
32 [email protected] "{"
33 [email protected] "}"
34 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rs b/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rs
new file mode 100644
index 000000000..d22d8cada
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0086_function_ret_type.rs
@@ -0,0 +1,2 @@
1fn foo() {}
2fn bar() -> () {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast b/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast
new file mode 100644
index 000000000..f7b839303
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast
@@ -0,0 +1,65 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected]
11 [email protected] "{"
12 [email protected] "\n "
13 [email protected]
14 [email protected]
15 [email protected] "if"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "break"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "}"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected] "while"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected] "break"
32 [email protected] " "
33 [email protected]
34 [email protected] "{"
35 [email protected] "}"
36 [email protected] "\n "
37 [email protected]
38 [email protected]
39 [email protected] "for"
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected] "i"
44 [email protected] " "
45 [email protected] "in"
46 [email protected] " "
47 [email protected]
48 [email protected] "break"
49 [email protected] " "
50 [email protected]
51 [email protected] "{"
52 [email protected] "}"
53 [email protected] "\n "
54 [email protected]
55 [email protected] "match"
56 [email protected] " "
57 [email protected]
58 [email protected] "break"
59 [email protected] " "
60 [email protected]
61 [email protected] "{"
62 [email protected] "}"
63 [email protected] "\n"
64 [email protected] "}"
65 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rs b/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rs
new file mode 100644
index 000000000..560eb05b9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0088_break_ambiguity.rs
@@ -0,0 +1,6 @@
1fn foo(){
2 if break {}
3 while break {}
4 for i in break {}
5 match break {}
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rast b/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rast
new file mode 100644
index 000000000..2ef026e37
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] " "
13 [email protected] "="
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "i32"
20 [email protected] ">"
21 [email protected] ";"
22 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rs b/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rs
new file mode 100644
index 000000000..540eacb02
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0090_type_param_default.rs
@@ -0,0 +1 @@
struct S<T = i32>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast b/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
new file mode 100644
index 000000000..f80326465
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "F"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "fn"
12 [email protected]
13 [email protected] "("
14 [email protected] ")"
15 [email protected] " "
16 [email protected]
17 [email protected] "->"
18 [email protected] " "
19 [email protected]
20 [email protected] "("
21 [email protected] ")"
22 [email protected] ";"
23 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs b/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs
new file mode 100644
index 000000000..e3ba5e87f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs
@@ -0,0 +1 @@
type F = fn() -> ();
diff --git a/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rast b/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rast
new file mode 100644
index 000000000..82f03f9c1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rast
@@ -0,0 +1,33 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "x"
22 [email protected] "["
23 [email protected]
24 [email protected] "1"
25 [email protected] "]"
26 [email protected] "["
27 [email protected]
28 [email protected] "2"
29 [email protected] "]"
30 [email protected] ";"
31 [email protected] "\n"
32 [email protected] "}"
33 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rs b/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rs
new file mode 100644
index 000000000..b9ba78a6c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0093_index_expr.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 x[1][2];
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast b/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast
new file mode 100644
index 000000000..c1fdc6e25
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "("
24 [email protected] ")"
25 [email protected] ";"
26 [email protected] " "
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rs b/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rs
new file mode 100644
index 000000000..4d719c433
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0095_placeholder_pat.rs
@@ -0,0 +1 @@
fn main() { let _ = (); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast b/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast
new file mode 100644
index 000000000..e757249f0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast
@@ -0,0 +1,123 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "if"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "true"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected] "loop"
29 [email protected] " "
30 [email protected]
31 [email protected] "{"
32 [email protected] "}"
33 [email protected] "\n "
34 [email protected]
35 [email protected]
36 [email protected] "match"
37 [email protected] " "
38 [email protected]
39 [email protected] "("
40 [email protected] ")"
41 [email protected] " "
42 [email protected]
43 [email protected] "{"
44 [email protected] "}"
45 [email protected] "\n "
46 [email protected]
47 [email protected]
48 [email protected] "while"
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected] "true"
53 [email protected] " "
54 [email protected]
55 [email protected] "{"
56 [email protected] "}"
57 [email protected] "\n "
58 [email protected]
59 [email protected]
60 [email protected] "for"
61 [email protected] " "
62 [email protected]
63 [email protected] "_"
64 [email protected] " "
65 [email protected] "in"
66 [email protected] " "
67 [email protected]
68 [email protected] "("
69 [email protected] ")"
70 [email protected] " "
71 [email protected]
72 [email protected] "{"
73 [email protected] "}"
74 [email protected] "\n "
75 [email protected]
76 [email protected]
77 [email protected] "{"
78 [email protected] "}"
79 [email protected] "\n "
80 [email protected]
81 [email protected]
82 [email protected] "{"
83 [email protected] "}"
84 [email protected] "\n "
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "macro_rules"
91 [email protected] "!"
92 [email protected] " "
93 [email protected]
94 [email protected] "test"
95 [email protected] " "
96 [email protected]
97 [email protected] "{"
98 [email protected] "\n "
99 [email protected]
100 [email protected] "("
101 [email protected] ")"
102 [email protected] " "
103 [email protected] "="
104 [email protected] ">"
105 [email protected] " "
106 [email protected]
107 [email protected] "{"
108 [email protected] "}"
109 [email protected] "\n "
110 [email protected] "}"
111 [email protected] "\n "
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "test"
117 [email protected] "!"
118 [email protected]
119 [email protected] "{"
120 [email protected] "}"
121 [email protected] "\n"
122 [email protected] "}"
123 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rs b/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rs
new file mode 100644
index 000000000..4919665cb
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rs
@@ -0,0 +1,13 @@
1fn foo() {
2 if true {}
3 loop {}
4 match () {}
5 while true {}
6 for _ in () {}
7 {}
8 {}
9 macro_rules! test {
10 () => {}
11 }
12 test!{}
13}
diff --git a/crates/syntax/test_data/parser/inline/ok/0099_param_list.rast b/crates/syntax/test_data/parser/inline/ok/0099_param_list.rast
new file mode 100644
index 000000000..f19e9fd52
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0099_param_list.rast
@@ -0,0 +1,99 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "fn"
17 [email protected] " "
18 [email protected]
19 [email protected] "b"
20 [email protected]
21 [email protected] "("
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "x"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "i32"
33 [email protected] ")"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "}"
38 [email protected] "\n"
39 [email protected]
40 [email protected] "fn"
41 [email protected] " "
42 [email protected]
43 [email protected] "c"
44 [email protected]
45 [email protected] "("
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "x"
50 [email protected] ":"
51 [email protected] " "
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "i32"
57 [email protected] ","
58 [email protected] " "
59 [email protected] ")"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] "}"
64 [email protected] "\n"
65 [email protected]
66 [email protected] "fn"
67 [email protected] " "
68 [email protected]
69 [email protected] "d"
70 [email protected]
71 [email protected] "("
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected] "x"
76 [email protected] ":"
77 [email protected] " "
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "i32"
83 [email protected] ","
84 [email protected] " "
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected] "y"
89 [email protected] ":"
90 [email protected] " "
91 [email protected]
92 [email protected] "("
93 [email protected] ")"
94 [email protected] ")"
95 [email protected] " "
96 [email protected]
97 [email protected] "{"
98 [email protected] "}"
99 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0099_param_list.rs b/crates/syntax/test_data/parser/inline/ok/0099_param_list.rs
new file mode 100644
index 000000000..9d55bedbb
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0099_param_list.rs
@@ -0,0 +1,4 @@
1fn a() {}
2fn b(x: i32) {}
3fn c(x: i32, ) {}
4fn d(x: i32, y: ()) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rast b/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rast
new file mode 100644
index 000000000..5c4055e44
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "for"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] " "
22 [email protected] "in"
23 [email protected] " "
24 [email protected]
25 [email protected] "["
26 [email protected] "]"
27 [email protected] " "
28 [email protected]
29 [email protected] "{"
30 [email protected] "}"
31 [email protected] ";"
32 [email protected] "\n"
33 [email protected] "}"
34 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rs b/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rs
new file mode 100644
index 000000000..972197d2a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0100_for_expr.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 for x in [] {};
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast b/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast
new file mode 100644
index 000000000..866e60ed8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast
@@ -0,0 +1,132 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "S"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "}"
26 [email protected] " "
27 [email protected] "="
28 [email protected] " "
29 [email protected]
30 [email protected] "("
31 [email protected] ")"
32 [email protected] ";"
33 [email protected] "\n "
34 [email protected]
35 [email protected] "let"
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "S"
42 [email protected] " "
43 [email protected]
44 [email protected] "{"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "f"
50 [email protected] ","
51 [email protected] " "
52 [email protected]
53 [email protected]
54 [email protected] "ref"
55 [email protected] " "
56 [email protected] "mut"
57 [email protected] " "
58 [email protected]
59 [email protected] "g"
60 [email protected] " "
61 [email protected] "}"
62 [email protected] " "
63 [email protected] "="
64 [email protected] " "
65 [email protected]
66 [email protected] "("
67 [email protected] ")"
68 [email protected] ";"
69 [email protected] "\n "
70 [email protected]
71 [email protected] "let"
72 [email protected] " "
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "S"
78 [email protected] " "
79 [email protected]
80 [email protected] "{"
81 [email protected] " "
82 [email protected]
83 [email protected]
84 [email protected] "h"
85 [email protected] ":"
86 [email protected] " "
87 [email protected]
88 [email protected] "_"
89 [email protected] ","
90 [email protected] " "
91 [email protected] ".."
92 [email protected] "}"
93 [email protected] " "
94 [email protected] "="
95 [email protected] " "
96 [email protected]
97 [email protected] "("
98 [email protected] ")"
99 [email protected] ";"
100 [email protected] "\n "
101 [email protected]
102 [email protected] "let"
103 [email protected] " "
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected] "S"
109 [email protected] " "
110 [email protected]
111 [email protected] "{"
112 [email protected] " "
113 [email protected]
114 [email protected]
115 [email protected] "h"
116 [email protected] ":"
117 [email protected] " "
118 [email protected]
119 [email protected] "_"
120 [email protected] ","
121 [email protected] " "
122 [email protected] "}"
123 [email protected] " "
124 [email protected] "="
125 [email protected] " "
126 [email protected]
127 [email protected] "("
128 [email protected] ")"
129 [email protected] ";"
130 [email protected] "\n"
131 [email protected] "}"
132 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rs b/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rs
new file mode 100644
index 000000000..da3412fa8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 let S {} = ();
3 let S { f, ref mut g } = ();
4 let S { h: _, ..} = ();
5 let S { h: _, } = ();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rast b/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rast
new file mode 100644
index 000000000..c4c0a0568
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rast
@@ -0,0 +1,54 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "["
17 [email protected] "]"
18 [email protected] ";"
19 [email protected] "\n "
20 [email protected]
21 [email protected]
22 [email protected] "["
23 [email protected]
24 [email protected] "1"
25 [email protected] "]"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected] "["
31 [email protected]
32 [email protected] "1"
33 [email protected] ","
34 [email protected] " "
35 [email protected]
36 [email protected] "2"
37 [email protected] ","
38 [email protected] "]"
39 [email protected] ";"
40 [email protected] "\n "
41 [email protected]
42 [email protected]
43 [email protected] "["
44 [email protected]
45 [email protected] "1"
46 [email protected] ";"
47 [email protected] " "
48 [email protected]
49 [email protected] "2"
50 [email protected] "]"
51 [email protected] ";"
52 [email protected] "\n"
53 [email protected] "}"
54 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rs b/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rs
new file mode 100644
index 000000000..4dc1999d1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0103_array_expr.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 [];
3 [1];
4 [1, 2,];
5 [1; 2];
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast b/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast
new file mode 100644
index 000000000..1244a5031
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "F"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "Box"
15 [email protected]
16 [email protected] "<"
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "Fn"
23 [email protected]
24 [email protected] "("
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "i32"
31 [email protected] ")"
32 [email protected] " "
33 [email protected]
34 [email protected] "->"
35 [email protected] " "
36 [email protected]
37 [email protected] "("
38 [email protected] ")"
39 [email protected] ">"
40 [email protected] ";"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rs b/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rs
new file mode 100644
index 000000000..17ed20e5b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rs
@@ -0,0 +1 @@
type F = Box<Fn(i32) -> ()>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rast b/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
new file mode 100644
index 000000000..9b8381619
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
@@ -0,0 +1,135 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "|"
18 [email protected] "|"
19 [email protected] " "
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "|"
29 [email protected] "|"
30 [email protected] " "
31 [email protected]
32 [email protected] "->"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "i32"
39 [email protected] " "
40 [email protected]
41 [email protected] "{"
42 [email protected] " "
43 [email protected]
44 [email protected] "92"
45 [email protected] " "
46 [email protected] "}"
47 [email protected] ";"
48 [email protected] "\n "
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "|"
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "x"
57 [email protected] "|"
58 [email protected] " "
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected] "x"
64 [email protected] ";"
65 [email protected] "\n "
66 [email protected]
67 [email protected]
68 [email protected] "move"
69 [email protected] " "
70 [email protected]
71 [email protected] "|"
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected] "x"
76 [email protected] ":"
77 [email protected] " "
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "i32"
83 [email protected] ","
84 [email protected] "|"
85 [email protected] " "
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "x"
91 [email protected] ";"
92 [email protected] "\n "
93 [email protected]
94 [email protected]
95 [email protected] "async"
96 [email protected] " "
97 [email protected]
98 [email protected] "|"
99 [email protected] "|"
100 [email protected] " "
101 [email protected]
102 [email protected] "{"
103 [email protected] "}"
104 [email protected] ";"
105 [email protected] "\n "
106 [email protected]
107 [email protected]
108 [email protected] "move"
109 [email protected] " "
110 [email protected]
111 [email protected] "|"
112 [email protected] "|"
113 [email protected] " "
114 [email protected]
115 [email protected] "{"
116 [email protected] "}"
117 [email protected] ";"
118 [email protected] "\n "
119 [email protected]
120 [email protected]
121 [email protected] "async"
122 [email protected] " "
123 [email protected] "move"
124 [email protected] " "
125 [email protected]
126 [email protected] "|"
127 [email protected] "|"
128 [email protected] " "
129 [email protected]
130 [email protected] "{"
131 [email protected] "}"
132 [email protected] ";"
133 [email protected] "\n"
134 [email protected] "}"
135 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rs b/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rs
new file mode 100644
index 000000000..075717823
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0106_lambda_expr.rs
@@ -0,0 +1,9 @@
1fn foo() {
2 || ();
3 || -> i32 { 92 };
4 |x| x;
5 move |x: i32,| x;
6 async || {};
7 move || {};
8 async move || {};
9}
diff --git a/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rast b/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rast
new file mode 100644
index 000000000..be8365e05
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rast
@@ -0,0 +1,62 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] "."
22 [email protected]
23 [email protected] "foo"
24 [email protected]
25 [email protected] "("
26 [email protected] ")"
27 [email protected] ";"
28 [email protected] "\n "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "y"
36 [email protected] "."
37 [email protected]
38 [email protected] "bar"
39 [email protected]
40 [email protected] "::"
41 [email protected] "<"
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected] "T"
48 [email protected] ">"
49 [email protected]
50 [email protected] "("
51 [email protected]
52 [email protected] "1"
53 [email protected] ","
54 [email protected] " "
55 [email protected]
56 [email protected] "2"
57 [email protected] ","
58 [email protected] ")"
59 [email protected] ";"
60 [email protected] "\n"
61 [email protected] "}"
62 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rs b/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rs
new file mode 100644
index 000000000..1a3aa35ae
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0107_method_call_expr.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 x.foo();
3 y.bar::<T>(1, 2,);
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rast b/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rast
new file mode 100644
index 000000000..ca7e4a5c3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rast
@@ -0,0 +1,38 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "("
17 [email protected] ")"
18 [email protected] ";"
19 [email protected] "\n "
20 [email protected]
21 [email protected]
22 [email protected] "("
23 [email protected]
24 [email protected] "1"
25 [email protected] ")"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected] "("
31 [email protected]
32 [email protected] "1"
33 [email protected] ","
34 [email protected] ")"
35 [email protected] ";"
36 [email protected] "\n"
37 [email protected] "}"
38 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rs b/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rs
new file mode 100644
index 000000000..e4f774280
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0108_tuple_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 ();
3 (1);
4 (1,);
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0109_label.rast b/crates/syntax/test_data/parser/inline/ok/0109_label.rast
new file mode 100644
index 000000000..c9588025c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0109_label.rast
@@ -0,0 +1,64 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "\'a"
18 [email protected] ":"
19 [email protected] " "
20 [email protected] "loop"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "\'b"
30 [email protected] ":"
31 [email protected] " "
32 [email protected] "while"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected] "true"
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected] "}"
41 [email protected] "\n "
42 [email protected]
43 [email protected]
44 [email protected] "\'c"
45 [email protected] ":"
46 [email protected] " "
47 [email protected] "for"
48 [email protected] " "
49 [email protected]
50 [email protected]
51 [email protected] "x"
52 [email protected] " "
53 [email protected] "in"
54 [email protected] " "
55 [email protected]
56 [email protected] "("
57 [email protected] ")"
58 [email protected] " "
59 [email protected]
60 [email protected] "{"
61 [email protected] "}"
62 [email protected] "\n"
63 [email protected] "}"
64 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0109_label.rs b/crates/syntax/test_data/parser/inline/ok/0109_label.rs
new file mode 100644
index 000000000..48e83f263
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0109_label.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 'a: loop {}
3 'b: while true {}
4 'c: for x in () {}
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0110_use_path.rast b/crates/syntax/test_data/parser/inline/ok/0110_use_path.rast
new file mode 100644
index 000000000..82028096f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0110_use_path.rast
@@ -0,0 +1,38 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected]
10 [email protected] "crate_name"
11 [email protected] ";"
12 [email protected] " "
13 [email protected] "// Rust 2018 - All fl ..."
14 [email protected] "\n"
15 [email protected]
16 [email protected] "use"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "crate_name"
23 [email protected] ";"
24 [email protected] " "
25 [email protected] "// Rust 2018 - Anchor ..."
26 [email protected] "\n"
27 [email protected]
28 [email protected] "use"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "item_in_scope_or_crat ..."
35 [email protected] ";"
36 [email protected] " "
37 [email protected] "// Rust 2018 - Unifor ..."
38 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0110_use_path.rs b/crates/syntax/test_data/parser/inline/ok/0110_use_path.rs
new file mode 100644
index 000000000..328e94736
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0110_use_path.rs
@@ -0,0 +1,3 @@
1use ::crate_name; // Rust 2018 - All flavours
2use crate_name; // Rust 2018 - Anchored paths
3use item_in_scope_or_crate_name; // Rust 2018 - Uniform Paths
diff --git a/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rast b/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
new file mode 100644
index 000000000..b82ed0230
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
@@ -0,0 +1,89 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected]
20 [email protected]
21 [email protected] "a"
22 [email protected] ","
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected] "b"
27 [email protected] ","
28 [email protected] " "
29 [email protected]
30 [email protected] ".."
31 [email protected] ")"
32 [email protected] " "
33 [email protected] "="
34 [email protected] " "
35 [email protected]
36 [email protected] "("
37 [email protected] ")"
38 [email protected] ";"
39 [email protected] "\n "
40 [email protected]
41 [email protected] "let"
42 [email protected] " "
43 [email protected]
44 [email protected] "("
45 [email protected]
46 [email protected]
47 [email protected] "a"
48 [email protected] ","
49 [email protected] ")"
50 [email protected] " "
51 [email protected] "="
52 [email protected] " "
53 [email protected]
54 [email protected] "("
55 [email protected] ")"
56 [email protected] ";"
57 [email protected] "\n "
58 [email protected]
59 [email protected] "let"
60 [email protected] " "
61 [email protected]
62 [email protected] "("
63 [email protected]
64 [email protected] ".."
65 [email protected] ")"
66 [email protected] " "
67 [email protected] "="
68 [email protected] " "
69 [email protected]
70 [email protected] "("
71 [email protected] ")"
72 [email protected] ";"
73 [email protected] "\n "
74 [email protected]
75 [email protected] "let"
76 [email protected] " "
77 [email protected]
78 [email protected] "("
79 [email protected] ")"
80 [email protected] " "
81 [email protected] "="
82 [email protected] " "
83 [email protected]
84 [email protected] "("
85 [email protected] ")"
86 [email protected] ";"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rs b/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rs
new file mode 100644
index 000000000..ba719879d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0111_tuple_pat.rs
@@ -0,0 +1,6 @@
1fn main() {
2 let (a, b, ..) = ();
3 let (a,) = ();
4 let (..) = ();
5 let () = ();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rast b/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rast
new file mode 100644
index 000000000..7b9a498c8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rast
@@ -0,0 +1,127 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "a"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected] "("
25 [email protected] ")"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected] "let"
30 [email protected] " "
31 [email protected]
32 [email protected] "mut"
33 [email protected] " "
34 [email protected]
35 [email protected] "b"
36 [email protected] " "
37 [email protected] "="
38 [email protected] " "
39 [email protected]
40 [email protected] "("
41 [email protected] ")"
42 [email protected] ";"
43 [email protected] "\n "
44 [email protected]
45 [email protected] "let"
46 [email protected] " "
47 [email protected]
48 [email protected] "ref"
49 [email protected] " "
50 [email protected]
51 [email protected] "c"
52 [email protected] " "
53 [email protected] "="
54 [email protected] " "
55 [email protected]
56 [email protected] "("
57 [email protected] ")"
58 [email protected] ";"
59 [email protected] "\n "
60 [email protected]
61 [email protected] "let"
62 [email protected] " "
63 [email protected]
64 [email protected] "ref"
65 [email protected] " "
66 [email protected] "mut"
67 [email protected] " "
68 [email protected]
69 [email protected] "d"
70 [email protected] " "
71 [email protected] "="
72 [email protected] " "
73 [email protected]
74 [email protected] "("
75 [email protected] ")"
76 [email protected] ";"
77 [email protected] "\n "
78 [email protected]
79 [email protected] "let"
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected] "e"
84 [email protected] " "
85 [email protected] "@"
86 [email protected] " "
87 [email protected]
88 [email protected] "_"
89 [email protected] " "
90 [email protected] "="
91 [email protected] " "
92 [email protected]
93 [email protected] "("
94 [email protected] ")"
95 [email protected] ";"
96 [email protected] "\n "
97 [email protected]
98 [email protected] "let"
99 [email protected] " "
100 [email protected]
101 [email protected] "ref"
102 [email protected] " "
103 [email protected] "mut"
104 [email protected] " "
105 [email protected]
106 [email protected] "f"
107 [email protected] " "
108 [email protected] "@"
109 [email protected] " "
110 [email protected]
111 [email protected]
112 [email protected] "g"
113 [email protected] " "
114 [email protected] "@"
115 [email protected] " "
116 [email protected]
117 [email protected] "_"
118 [email protected] " "
119 [email protected] "="
120 [email protected] " "
121 [email protected]
122 [email protected] "("
123 [email protected] ")"
124 [email protected] ";"
125 [email protected] "\n"
126 [email protected] "}"
127 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rs b/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rs
new file mode 100644
index 000000000..820a9e72c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0112_bind_pat.rs
@@ -0,0 +1,8 @@
1fn main() {
2 let a = ();
3 let mut b = ();
4 let ref c = ();
5 let ref mut d = ();
6 let e @ _ = ();
7 let ref mut f @ g @ _ = ();
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast b/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast
new file mode 100644
index 000000000..d761c1c68
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast
@@ -0,0 +1,55 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected]
11 [email protected] "{"
12 [email protected] "\n "
13 [email protected] ";"
14 [email protected] ";"
15 [email protected] ";"
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "some_expr"
23 [email protected]
24 [email protected] "("
25 [email protected] ")"
26 [email protected] ";"
27 [email protected] ";"
28 [email protected] ";"
29 [email protected] ";"
30 [email protected]
31 [email protected]
32 [email protected] "{"
33 [email protected] ";"
34 [email protected] ";"
35 [email protected] ";"
36 [email protected] "}"
37 [email protected] ";"
38 [email protected] ";"
39 [email protected] ";"
40 [email protected] ";"
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "Ok"
47 [email protected]
48 [email protected] "("
49 [email protected]
50 [email protected] "("
51 [email protected] ")"
52 [email protected] ")"
53 [email protected] "\n"
54 [email protected] "}"
55 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rs b/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rs
new file mode 100644
index 000000000..bbf09e367
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0113_nocontentexpr.rs
@@ -0,0 +1,3 @@
1fn foo(){
2 ;;;some_expr();;;;{;;;};;;;Ok(())
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast b/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast
new file mode 100644
index 000000000..0e1594dc4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast
@@ -0,0 +1,64 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "Test"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "T"
21 [email protected] ")"
22 [email protected] " "
23 [email protected]
24 [email protected] "where"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "T"
32 [email protected] ":"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected] "Clone"
41 [email protected] ";"
42 [email protected] "\n"
43 [email protected]
44 [email protected] "struct"
45 [email protected] " "
46 [email protected]
47 [email protected] "Test"
48 [email protected]
49 [email protected] "<"
50 [email protected]
51 [email protected]
52 [email protected] "T"
53 [email protected] ">"
54 [email protected]
55 [email protected] "("
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "T"
62 [email protected] ")"
63 [email protected] ";"
64 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rs b/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rs
new file mode 100644
index 000000000..ddd59016d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rs
@@ -0,0 +1,2 @@
1struct Test<T>(T) where T: Clone;
2struct Test<T>(T);
diff --git a/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
new file mode 100644
index 000000000..4d09c9f50
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "("
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "#"
14 [email protected] "["
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "serde"
19 [email protected]
20 [email protected] "("
21 [email protected] "with"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected] "\"url_serde\""
26 [email protected] ")"
27 [email protected] "]"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "pub"
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "Uri"
37 [email protected] ","
38 [email protected] "\n"
39 [email protected] ")"
40 [email protected] ";"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rs b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rs
new file mode 100644
index 000000000..635b9ac21
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rs
@@ -0,0 +1,4 @@
1struct S (
2 #[serde(with = "url_serde")]
3 pub Uri,
4);
diff --git a/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rast b/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rast
new file mode 100644
index 000000000..f3d4ad72c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected] "foo"
15 [email protected] "!"
16 [email protected]
17 [email protected] "("
18 [email protected] ")"
19 [email protected] ";"
20 [email protected] "\n"
21 [email protected]
22 [email protected] "type"
23 [email protected] " "
24 [email protected]
25 [email protected] "B"
26 [email protected] " "
27 [email protected] "="
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "crate"
34 [email protected] "::"
35 [email protected]
36 [email protected]
37 [email protected] "foo"
38 [email protected] "!"
39 [email protected]
40 [email protected] "("
41 [email protected] ")"
42 [email protected] ";"
43 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rs b/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rs
new file mode 100644
index 000000000..edb470c89
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0117_macro_call_type.rs
@@ -0,0 +1,2 @@
1type A = foo!();
2type B = crate::foo!();
diff --git a/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
new file mode 100644
index 000000000..141a7b203
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
@@ -0,0 +1,40 @@
1[email protected]
2 [email protected]
3 [email protected] "enum"
4 [email protected] " "
5 [email protected]
6 [email protected] "F"
7 [email protected]
8 [email protected] "{"
9 [email protected] "}"
10 [email protected] "\n"
11 [email protected]
12 [email protected] "impl"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "F"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected] "//! This is a doc com ..."
24 [email protected] "\n "
25 [email protected]
26 [email protected] "#"
27 [email protected] "!"
28 [email protected] "["
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "doc"
33 [email protected]
34 [email protected] "("
35 [email protected] "\"This is also a doc c ..."
36 [email protected] ")"
37 [email protected] "]"
38 [email protected] "\n"
39 [email protected] "}"
40 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rs b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rs
new file mode 100644
index 000000000..4d68cceb7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rs
@@ -0,0 +1,5 @@
1enum F{}
2impl F {
3 //! This is a doc comment
4 #![doc("This is also a doc comment")]
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rast b/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rast
new file mode 100644
index 000000000..0cf4eb0a5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rast
@@ -0,0 +1,47 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "_"
27 [email protected] " "
28 [email protected]
29 [email protected] "if"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "foo"
36 [email protected] " "
37 [email protected] "=>"
38 [email protected] " "
39 [email protected]
40 [email protected] "("
41 [email protected] ")"
42 [email protected] ","
43 [email protected] "\n "
44 [email protected] "}"
45 [email protected] "\n"
46 [email protected] "}"
47 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rs b/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rs
new file mode 100644
index 000000000..f1bd72fc4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0118_match_guard.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 match () {
3 _ if foo => (),
4 }
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
new file mode 100644
index 000000000..ec7a00f1d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
@@ -0,0 +1,80 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected] "#"
26 [email protected] "!"
27 [email protected] "["
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "doc"
32 [email protected]
33 [email protected] "("
34 [email protected] "\"Inner attribute\""
35 [email protected] ")"
36 [email protected] "]"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "#"
40 [email protected] "!"
41 [email protected] "["
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected] "doc"
46 [email protected]
47 [email protected] "("
48 [email protected] "\"Can be\""
49 [email protected] ")"
50 [email protected] "]"
51 [email protected] "\n "
52 [email protected]
53 [email protected] "#"
54 [email protected] "!"
55 [email protected] "["
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "doc"
60 [email protected]
61 [email protected] "("
62 [email protected] "\"Stacked\""
63 [email protected] ")"
64 [email protected] "]"
65 [email protected] "\n "
66 [email protected]
67 [email protected]
68 [email protected] "_"
69 [email protected] " "
70 [email protected] "=>"
71 [email protected] " "
72 [email protected]
73 [email protected] "("
74 [email protected] ")"
75 [email protected] ","
76 [email protected] "\n "
77 [email protected] "}"
78 [email protected] "\n"
79 [email protected] "}"
80 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs
new file mode 100644
index 000000000..54a67c9d7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs
@@ -0,0 +1,8 @@
1fn foo() {
2 match () {
3 #![doc("Inner attribute")]
4 #![doc("Can be")]
5 #![doc("Stacked")]
6 _ => (),
7 }
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
new file mode 100644
index 000000000..97924da05
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
@@ -0,0 +1,145 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "#"
27 [email protected] "["
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "cfg"
32 [email protected]
33 [email protected] "("
34 [email protected] "feature"
35 [email protected] " "
36 [email protected] "="
37 [email protected] " "
38 [email protected] "\"some\""
39 [email protected] ")"
40 [email protected] "]"
41 [email protected] "\n "
42 [email protected]
43 [email protected] "_"
44 [email protected] " "
45 [email protected] "=>"
46 [email protected] " "
47 [email protected]
48 [email protected] "("
49 [email protected] ")"
50 [email protected] ","
51 [email protected] "\n "
52 [email protected]
53 [email protected]
54 [email protected] "#"
55 [email protected] "["
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "cfg"
60 [email protected]
61 [email protected] "("
62 [email protected] "feature"
63 [email protected] " "
64 [email protected] "="
65 [email protected] " "
66 [email protected] "\"other\""
67 [email protected] ")"
68 [email protected] "]"
69 [email protected] "\n "
70 [email protected]
71 [email protected] "_"
72 [email protected] " "
73 [email protected] "=>"
74 [email protected] " "
75 [email protected]
76 [email protected] "("
77 [email protected] ")"
78 [email protected] ","
79 [email protected] "\n "
80 [email protected]
81 [email protected]
82 [email protected] "#"
83 [email protected] "["
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "cfg"
88 [email protected]
89 [email protected] "("
90 [email protected] "feature"
91 [email protected] " "
92 [email protected] "="
93 [email protected] " "
94 [email protected] "\"many\""
95 [email protected] ")"
96 [email protected] "]"
97 [email protected] "\n "
98 [email protected]
99 [email protected] "#"
100 [email protected] "["
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected] "cfg"
105 [email protected]
106 [email protected] "("
107 [email protected] "feature"
108 [email protected] " "
109 [email protected] "="
110 [email protected] " "
111 [email protected] "\"attributes\""
112 [email protected] ")"
113 [email protected] "]"
114 [email protected] "\n "
115 [email protected]
116 [email protected] "#"
117 [email protected] "["
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected] "cfg"
122 [email protected]
123 [email protected] "("
124 [email protected] "feature"
125 [email protected] " "
126 [email protected] "="
127 [email protected] " "
128 [email protected] "\"before\""
129 [email protected] ")"
130 [email protected] "]"
131 [email protected] "\n "
132 [email protected]
133 [email protected] "_"
134 [email protected] " "
135 [email protected] "=>"
136 [email protected] " "
137 [email protected]
138 [email protected] "("
139 [email protected] ")"
140 [email protected] ","
141 [email protected] "\n "
142 [email protected] "}"
143 [email protected] "\n"
144 [email protected] "}"
145 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs
new file mode 100644
index 000000000..676db42d1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs
@@ -0,0 +1,12 @@
1fn foo() {
2 match () {
3 #[cfg(feature = "some")]
4 _ => (),
5 #[cfg(feature = "other")]
6 _ => (),
7 #[cfg(feature = "many")]
8 #[cfg(feature = "attributes")]
9 #[cfg(feature = "before")]
10 _ => (),
11 }
12}
diff --git a/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
new file mode 100644
index 000000000..570b95205
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
@@ -0,0 +1,65 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "#"
12 [email protected] "["
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected] "derive"
17 [email protected]
18 [email protected] "("
19 [email protected] "Lifetime"
20 [email protected] ")"
21 [email protected] "]"
22 [email protected] " "
23 [email protected] "\'a"
24 [email protected] ","
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected] "#"
29 [email protected] "["
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "derive"
34 [email protected]
35 [email protected] "("
36 [email protected] "Type"
37 [email protected] ")"
38 [email protected] "]"
39 [email protected] " "
40 [email protected]
41 [email protected] "T"
42 [email protected] ">"
43 [email protected]
44 [email protected] "("
45 [email protected]
46 [email protected]
47 [email protected] "_"
48 [email protected] ":"
49 [email protected] " "
50 [email protected]
51 [email protected] "&"
52 [email protected] "\'a"
53 [email protected] " "
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected] "T"
59 [email protected] ")"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] "\n"
64 [email protected] "}"
65 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs
new file mode 100644
index 000000000..e8fdf741f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rs
@@ -0,0 +1,2 @@
1fn foo<#[derive(Lifetime)] 'a, #[derive(Type)] T>(_: &'a T) {
2}
diff --git a/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast b/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
new file mode 100644
index 000000000..7cdec6634
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
@@ -0,0 +1,50 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected] "\"C\""
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] " "
11 [email protected]
12 [email protected] "fn"
13 [email protected] " "
14 [email protected]
15 [email protected] "printf"
16 [email protected]
17 [email protected] "("
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "format"
22 [email protected] ":"
23 [email protected] " "
24 [email protected]
25 [email protected] "*"
26 [email protected] "const"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "i8"
33 [email protected] ","
34 [email protected] " "
35 [email protected]
36 [email protected] "..."
37 [email protected] ")"
38 [email protected] " "
39 [email protected]
40 [email protected] "->"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "i32"
47 [email protected] ";"
48 [email protected] " "
49 [email protected] "}"
50 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rs b/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rs
new file mode 100644
index 000000000..c59addaf4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0123_param_list_vararg.rs
@@ -0,0 +1 @@
extern "C" { fn printf(format: *const i8, ...) -> i32; }
diff --git a/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast b/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast
new file mode 100644
index 000000000..aa4d7a784
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "crate"
21 [email protected] "::"
22 [email protected]
23 [email protected]
24 [email protected] "foo"
25 [email protected]
26 [email protected] "("
27 [email protected] ")"
28 [email protected] ";"
29 [email protected] " "
30 [email protected] "}"
31 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rs b/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rs
new file mode 100644
index 000000000..0f454d121
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rs
@@ -0,0 +1 @@
fn foo() { crate::foo(); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
new file mode 100644
index 000000000..54ea2c7c6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
@@ -0,0 +1,47 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "S"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "#"
26 [email protected] "["
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "cfg"
31 [email protected]
32 [email protected] "("
33 [email protected] "test"
34 [email protected] ")"
35 [email protected] "]"
36 [email protected] " "
37 [email protected]
38 [email protected] "field"
39 [email protected] ":"
40 [email protected] " "
41 [email protected]
42 [email protected] "1"
43 [email protected] " "
44 [email protected] "}"
45 [email protected] "\n"
46 [email protected] "}"
47 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs
new file mode 100644
index 000000000..a6c7760c7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs
@@ -0,0 +1,3 @@
1fn main() {
2 S { #[cfg(test)] field: 1 }
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
new file mode 100644
index 000000000..0342e64f3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
@@ -0,0 +1,97 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "#"
17 [email protected] "["
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "A"
22 [email protected] "]"
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "foo"
30 [email protected]
31 [email protected] "("
32 [email protected] ")"
33 [email protected] ";"
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected] "#"
38 [email protected] "["
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "B"
43 [email protected] "]"
44 [email protected] " "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "bar"
50 [email protected] "!"
51 [email protected]
52 [email protected] "{"
53 [email protected] "}"
54 [email protected] "\n "
55 [email protected]
56 [email protected]
57 [email protected] "#"
58 [email protected] "["
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected] "C"
63 [email protected] "]"
64 [email protected] " "
65 [email protected]
66 [email protected] "#"
67 [email protected] "["
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected] "D"
72 [email protected] "]"
73 [email protected] " "
74 [email protected]
75 [email protected] "{"
76 [email protected] "}"
77 [email protected] "\n "
78 [email protected]
79 [email protected]
80 [email protected] "#"
81 [email protected] "["
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected] "D"
86 [email protected] "]"
87 [email protected] " "
88 [email protected]
89 [email protected] "return"
90 [email protected] " "
91 [email protected]
92 [email protected] "("
93 [email protected] ")"
94 [email protected] ";"
95 [email protected] "\n"
96 [email protected] "}"
97 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs
new file mode 100644
index 000000000..b28c078f9
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs
@@ -0,0 +1,6 @@
1fn foo() {
2 #[A] foo();
3 #[B] bar!{}
4 #[C] #[D] {}
5 #[D] return ();
6}
diff --git a/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
new file mode 100644
index 000000000..3b46e5b47
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
@@ -0,0 +1,57 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "{"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected] "#"
21 [email protected] "["
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "A"
26 [email protected] "]"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "bar"
33 [email protected] "!"
34 [email protected]
35 [email protected] "("
36 [email protected] ")"
37 [email protected] "?"
38 [email protected] " "
39 [email protected] "}"
40 [email protected] "\n "
41 [email protected]
42 [email protected]
43 [email protected] "#"
44 [email protected] "["
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "B"
49 [email protected] "]"
50 [email protected] " "
51 [email protected] "&"
52 [email protected]
53 [email protected] "("
54 [email protected] ")"
55 [email protected] "\n"
56 [email protected] "}"
57 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rs b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rs
new file mode 100644
index 000000000..9c5c8eb36
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 { #[A] bar!()? }
3 #[B] &()
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rast b/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rast
new file mode 100644
index 000000000..e283966ca
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rast
@@ -0,0 +1,36 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "m"
23 [email protected] "!"
24 [email protected]
25 [email protected] "("
26 [email protected] "x"
27 [email protected] ")"
28 [email protected] " "
29 [email protected] "="
30 [email protected] " "
31 [email protected]
32 [email protected] "0"
33 [email protected] ";"
34 [email protected] "\n"
35 [email protected] "}"
36 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rs b/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rs
new file mode 100644
index 000000000..811181d9b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0129_marco_pat.rs
@@ -0,0 +1,3 @@
1fn main() {
2 let m!(x) = 0;
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
new file mode 100644
index 000000000..4c07cefa6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
@@ -0,0 +1,126 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "a"
20 [email protected] ";"
21 [email protected] "\n "
22 [email protected]
23 [email protected] "let"
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected] "b"
28 [email protected] ":"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "i32"
35 [email protected] ";"
36 [email protected] "\n "
37 [email protected]
38 [email protected] "let"
39 [email protected] " "
40 [email protected]
41 [email protected]
42 [email protected] "c"
43 [email protected] " "
44 [email protected] "="
45 [email protected] " "
46 [email protected]
47 [email protected] "92"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected]
51 [email protected] "let"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected] "d"
56 [email protected] ":"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected] "i32"
63 [email protected] " "
64 [email protected] "="
65 [email protected] " "
66 [email protected]
67 [email protected] "92"
68 [email protected] ";"
69 [email protected] "\n "
70 [email protected]
71 [email protected] "let"
72 [email protected] " "
73 [email protected]
74 [email protected]
75 [email protected] "e"
76 [email protected] ":"
77 [email protected] " "
78 [email protected]
79 [email protected] "!"
80 [email protected] ";"
81 [email protected] "\n "
82 [email protected]
83 [email protected] "let"
84 [email protected] " "
85 [email protected]
86 [email protected] "_"
87 [email protected] ":"
88 [email protected] " "
89 [email protected]
90 [email protected] "!"
91 [email protected] " "
92 [email protected] "="
93 [email protected] " "
94 [email protected]
95 [email protected] "{"
96 [email protected] "}"
97 [email protected] ";"
98 [email protected] "\n "
99 [email protected]
100 [email protected] "let"
101 [email protected] " "
102 [email protected]
103 [email protected]
104 [email protected] "f"
105 [email protected] " "
106 [email protected] "="
107 [email protected] " "
108 [email protected]
109 [email protected]
110 [email protected] "#"
111 [email protected] "["
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected] "attr"
116 [email protected] "]"
117 [email protected]
118 [email protected] "|"
119 [email protected] "|"
120 [email protected]
121 [email protected] "{"
122 [email protected] "}"
123 [email protected] ";"
124 [email protected] "\n"
125 [email protected] "}"
126 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rs b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rs
new file mode 100644
index 000000000..fa8ee49a2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rs
@@ -0,0 +1,9 @@
1fn foo() {
2 let a;
3 let b: i32;
4 let c = 92;
5 let d: i32 = 92;
6 let e: !;
7 let _: ! = {};
8 let f = #[attr]||{};
9}
diff --git a/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rast b/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rast
new file mode 100644
index 000000000..ffdffe2f8
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "try"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] ";"
29 [email protected] "\n"
30 [email protected] "}"
31 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rs b/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rs
new file mode 100644
index 000000000..0f1b41eb6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0130_try_block_expr.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 let _ = try {};
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rast b/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rast
new file mode 100644
index 000000000..d47071a91
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "existential"
4 [email protected] " "
5 [email protected] "type"
6 [email protected] " "
7 [email protected]
8 [email protected] "Foo"
9 [email protected] ":"
10 [email protected] " "
11 [email protected]
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "Fn"
18 [email protected]
19 [email protected] "("
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "->"
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "usize"
30 [email protected] ";"
31 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rs b/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rs
new file mode 100644
index 000000000..23baf7145
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0131_existential_type.rs
@@ -0,0 +1 @@
existential type Foo: Fn() -> usize;
diff --git a/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rast b/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rast
new file mode 100644
index 000000000..c55038247
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rast
@@ -0,0 +1,89 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "x"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected] "box"
25 [email protected] " "
26 [email protected]
27 [email protected] "1i32"
28 [email protected] ";"
29 [email protected] "\n "
30 [email protected]
31 [email protected] "let"
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected] "y"
36 [email protected] " "
37 [email protected] "="
38 [email protected] " "
39 [email protected]
40 [email protected] "("
41 [email protected]
42 [email protected] "box"
43 [email protected] " "
44 [email protected]
45 [email protected] "1i32"
46 [email protected] ","
47 [email protected] " "
48 [email protected]
49 [email protected] "box"
50 [email protected] " "
51 [email protected]
52 [email protected] "2i32"
53 [email protected] ")"
54 [email protected] ";"
55 [email protected] "\n "
56 [email protected]
57 [email protected] "let"
58 [email protected] " "
59 [email protected]
60 [email protected]
61 [email protected] "z"
62 [email protected] " "
63 [email protected] "="
64 [email protected] " "
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected] "Foo"
71 [email protected]
72 [email protected] "("
73 [email protected]
74 [email protected] "box"
75 [email protected] " "
76 [email protected]
77 [email protected] "1i32"
78 [email protected] ","
79 [email protected] " "
80 [email protected]
81 [email protected] "box"
82 [email protected] " "
83 [email protected]
84 [email protected] "2i32"
85 [email protected] ")"
86 [email protected] ";"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rs b/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rs
new file mode 100644
index 000000000..fc9923b71
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0132_box_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 let x = box 1i32;
3 let y = (box 1i32, box 2i32);
4 let z = Foo(box 1i32, box 2i32);
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast b/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
new file mode 100644
index 000000000..429a0506e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
@@ -0,0 +1,62 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "simple_function"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "enum"
16 [email protected] " "
17 [email protected]
18 [email protected] "LocalEnum"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected] "One"
26 [email protected] ","
27 [email protected] "\n "
28 [email protected]
29 [email protected]
30 [email protected] "Two"
31 [email protected] ","
32 [email protected] "\n "
33 [email protected] "}"
34 [email protected] ";"
35 [email protected] "\n "
36 [email protected]
37 [email protected] "fn"
38 [email protected] " "
39 [email protected]
40 [email protected] "f"
41 [email protected]
42 [email protected] "("
43 [email protected] ")"
44 [email protected] " "
45 [email protected]
46 [email protected] "{"
47 [email protected] "}"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected]
51 [email protected] "struct"
52 [email protected] " "
53 [email protected]
54 [email protected] "S"
55 [email protected] " "
56 [email protected]
57 [email protected] "{"
58 [email protected] "}"
59 [email protected] ";"
60 [email protected] "\n"
61 [email protected] "}"
62 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs b/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs
new file mode 100644
index 000000000..eadc7fffb
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs
@@ -0,0 +1,8 @@
1fn simple_function() {
2 enum LocalEnum {
3 One,
4 Two,
5 };
6 fn f() {};
7 struct S {};
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rast b/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rast
new file mode 100644
index 000000000..923effe38
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rast
@@ -0,0 +1,69 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "x"
21 [email protected] "."
22 [email protected] "await"
23 [email protected] ";"
24 [email protected] "\n "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "x"
33 [email protected] "."
34 [email protected]
35 [email protected] "0"
36 [email protected] "."
37 [email protected] "await"
38 [email protected] ";"
39 [email protected] "\n "
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "x"
51 [email protected] "."
52 [email protected]
53 [email protected] "0"
54 [email protected]
55 [email protected] "("
56 [email protected] ")"
57 [email protected] "."
58 [email protected] "await"
59 [email protected] "?"
60 [email protected] "."
61 [email protected]
62 [email protected] "hello"
63 [email protected]
64 [email protected] "("
65 [email protected] ")"
66 [email protected] ";"
67 [email protected] "\n"
68 [email protected] "}"
69 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rs b/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rs
new file mode 100644
index 000000000..d2ba89ca6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0137_await_expr.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 x.await;
3 x.0.await;
4 x.0().await?.hello();
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast b/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast
new file mode 100644
index 000000000..3870ec135
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast
@@ -0,0 +1,55 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "print_all"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "Iterator"
21 [email protected]
22 [email protected] "<"
23 [email protected]
24 [email protected]
25 [email protected] "Item"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "Display"
35 [email protected] ">"
36 [email protected] ">"
37 [email protected]
38 [email protected] "("
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "printables"
43 [email protected] ":"
44 [email protected] " "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "T"
50 [email protected] ")"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] "}"
55 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rs b/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rs
new file mode 100644
index 000000000..eb21a657b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rs
@@ -0,0 +1 @@
fn print_all<T: Iterator<Item: Display>>(printables: T) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rast b/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rast
new file mode 100644
index 000000000..f7c0e0ab0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rast
@@ -0,0 +1,64 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "mut"
19 [email protected] " "
20 [email protected]
21 [email protected] "p"
22 [email protected] " "
23 [email protected] "="
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "F"
30 [email protected]
31 [email protected] "{"
32 [email protected]
33 [email protected]
34 [email protected] "x"
35 [email protected] ":"
36 [email protected] " "
37 [email protected]
38 [email protected] "5"
39 [email protected] "}"
40 [email protected] ";"
41 [email protected] "\n "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "{"
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "p"
52 [email protected] "}"
53 [email protected] "."
54 [email protected]
55 [email protected] "x"
56 [email protected] " "
57 [email protected] "="
58 [email protected] " "
59 [email protected]
60 [email protected] "10"
61 [email protected] ";"
62 [email protected] "\n"
63 [email protected] "}"
64 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rs b/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rs
new file mode 100644
index 000000000..76007e3ee
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_expression_after_block.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 let mut p = F{x: 5};
3 {p}.x = 10;
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
new file mode 100644
index 000000000..6403ff8d5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
@@ -0,0 +1,25 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected] "#"
11 [email protected] "["
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected] "must_use"
16 [email protected] "]"
17 [email protected] " "
18 [email protected]
19 [email protected] "self"
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rs b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rs
new file mode 100644
index 000000000..35155057a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rs
@@ -0,0 +1 @@
fn f(#[must_use] self) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
new file mode 100644
index 000000000..495e4c51b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected] "#"
11 [email protected] "["
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected] "attr1"
16 [email protected] "]"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "pat"
22 [email protected] ":"
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "Type"
29 [email protected] ")"
30 [email protected] " "
31 [email protected]
32 [email protected] "{"
33 [email protected] "}"
34 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rs b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rs
new file mode 100644
index 000000000..c238be791
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rs
@@ -0,0 +1 @@
fn f(#[attr1] pat: Type) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rast b/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rast
new file mode 100644
index 000000000..36e448c94
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rast
@@ -0,0 +1,40 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "for"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "x"
20 [email protected] " "
21 [email protected] "in"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "0"
26 [email protected] " "
27 [email protected] ".."
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "\n "
32 [email protected]
33 [email protected]
34 [email protected] "break"
35 [email protected] ";"
36 [email protected] "\n "
37 [email protected] "}"
38 [email protected] "\n"
39 [email protected] "}"
40 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rs b/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rs
new file mode 100644
index 000000000..af0d40a7a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0142_for_range_from.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 for x in 0 .. {
3 break;
4 }
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rast b/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rast
new file mode 100644
index 000000000..65887b962
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rast
@@ -0,0 +1,110 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "box"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected] "i"
23 [email protected] " "
24 [email protected] "="
25 [email protected] " "
26 [email protected]
27 [email protected] "("
28 [email protected] ")"
29 [email protected] ";"
30 [email protected] "\n "
31 [email protected]
32 [email protected] "let"
33 [email protected] " "
34 [email protected]
35 [email protected] "box"
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "Outer"
42 [email protected] " "
43 [email protected]
44 [email protected] "{"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected] "box"
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected] "i"
53 [email protected] ","
54 [email protected] " "
55 [email protected]
56 [email protected]
57 [email protected] "j"
58 [email protected] ":"
59 [email protected] " "
60 [email protected]
61 [email protected] "box"
62 [email protected] " "
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected] "Inner"
68 [email protected] "("
69 [email protected]
70 [email protected] "box"
71 [email protected] " "
72 [email protected]
73 [email protected] "&"
74 [email protected]
75 [email protected]
76 [email protected] "x"
77 [email protected] ")"
78 [email protected] " "
79 [email protected] "}"
80 [email protected] " "
81 [email protected] "="
82 [email protected] " "
83 [email protected]
84 [email protected] "("
85 [email protected] ")"
86 [email protected] ";"
87 [email protected] "\n "
88 [email protected]
89 [email protected] "let"
90 [email protected] " "
91 [email protected]
92 [email protected] "box"
93 [email protected] " "
94 [email protected]
95 [email protected] "ref"
96 [email protected] " "
97 [email protected] "mut"
98 [email protected] " "
99 [email protected]
100 [email protected] "i"
101 [email protected] " "
102 [email protected] "="
103 [email protected] " "
104 [email protected]
105 [email protected] "("
106 [email protected] ")"
107 [email protected] ";"
108 [email protected] "\n"
109 [email protected] "}"
110 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rs b/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rs
new file mode 100644
index 000000000..9d458aa1e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0143_box_pat.rs
@@ -0,0 +1,5 @@
1fn main() {
2 let box i = ();
3 let box Outer { box i, j: box Inner(box &x) } = ();
4 let box ref mut i = ();
5}
diff --git a/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
new file mode 100644
index 000000000..8a5bde0b6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
@@ -0,0 +1,455 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] ".."
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "("
24 [email protected] ")"
25 [email protected] ";"
26 [email protected] "\n "
27 [email protected] "//"
28 [email protected] "\n "
29 [email protected] "// Tuples"
30 [email protected] "\n "
31 [email protected] "//"
32 [email protected] "\n "
33 [email protected]
34 [email protected] "let"
35 [email protected] " "
36 [email protected]
37 [email protected] "("
38 [email protected]
39 [email protected]
40 [email protected] "a"
41 [email protected] ","
42 [email protected] " "
43 [email protected]
44 [email protected] ".."
45 [email protected] ")"
46 [email protected] " "
47 [email protected] "="
48 [email protected] " "
49 [email protected]
50 [email protected] "("
51 [email protected] ")"
52 [email protected] ";"
53 [email protected] "\n "
54 [email protected]
55 [email protected] "let"
56 [email protected] " "
57 [email protected]
58 [email protected] "("
59 [email protected]
60 [email protected]
61 [email protected] "a"
62 [email protected] ","
63 [email protected] " "
64 [email protected]
65 [email protected] ".."
66 [email protected] ","
67 [email protected] ")"
68 [email protected] " "
69 [email protected] "="
70 [email protected] " "
71 [email protected]
72 [email protected] "("
73 [email protected] ")"
74 [email protected] ";"
75 [email protected] "\n "
76 [email protected]
77 [email protected] "let"
78 [email protected] " "
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected]
83 [email protected] "Tuple"
84 [email protected] "("
85 [email protected]
86 [email protected]
87 [email protected] "a"
88 [email protected] ","
89 [email protected] " "
90 [email protected]
91 [email protected] ".."
92 [email protected] ")"
93 [email protected] " "
94 [email protected] "="
95 [email protected] " "
96 [email protected]
97 [email protected] "("
98 [email protected] ")"
99 [email protected] ";"
100 [email protected] "\n "
101 [email protected]
102 [email protected] "let"
103 [email protected] " "
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected] "Tuple"
109 [email protected] "("
110 [email protected]
111 [email protected]
112 [email protected] "a"
113 [email protected] ","
114 [email protected] " "
115 [email protected]
116 [email protected] ".."
117 [email protected] ","
118 [email protected] ")"
119 [email protected] " "
120 [email protected] "="
121 [email protected] " "
122 [email protected]
123 [email protected] "("
124 [email protected] ")"
125 [email protected] ";"
126 [email protected] "\n "
127 [email protected]
128 [email protected] "let"
129 [email protected] " "
130 [email protected]
131 [email protected] "("
132 [email protected]
133 [email protected] ".."
134 [email protected] ","
135 [email protected] " "
136 [email protected]
137 [email protected] ".."
138 [email protected] ")"
139 [email protected] " "
140 [email protected] "="
141 [email protected] " "
142 [email protected]
143 [email protected] "("
144 [email protected] ")"
145 [email protected] ";"
146 [email protected] "\n "
147 [email protected]
148 [email protected] "let"
149 [email protected] " "
150 [email protected]
151 [email protected]
152 [email protected]
153 [email protected]
154 [email protected] "Tuple"
155 [email protected] "("
156 [email protected]
157 [email protected] ".."
158 [email protected] ","
159 [email protected] " "
160 [email protected]
161 [email protected] ".."
162 [email protected] ")"
163 [email protected] " "
164 [email protected] "="
165 [email protected] " "
166 [email protected]
167 [email protected] "("
168 [email protected] ")"
169 [email protected] ";"
170 [email protected] "\n "
171 [email protected]
172 [email protected] "let"
173 [email protected] " "
174 [email protected]
175 [email protected] "("
176 [email protected]
177 [email protected] ".."
178 [email protected] ","
179 [email protected] " "
180 [email protected]
181 [email protected]
182 [email protected] "a"
183 [email protected] ","
184 [email protected] " "
185 [email protected]
186 [email protected] ".."
187 [email protected] ")"
188 [email protected] " "
189 [email protected] "="
190 [email protected] " "
191 [email protected]
192 [email protected] "("
193 [email protected] ")"
194 [email protected] ";"
195 [email protected] "\n "
196 [email protected]
197 [email protected] "let"
198 [email protected] " "
199 [email protected]
200 [email protected]
201 [email protected]
202 [email protected]
203 [email protected] "Tuple"
204 [email protected] "("
205 [email protected]
206 [email protected] ".."
207 [email protected] ","
208 [email protected] " "
209 [email protected]
210 [email protected]
211 [email protected] "a"
212 [email protected] ","
213 [email protected] " "
214 [email protected]
215 [email protected] ".."
216 [email protected] ")"
217 [email protected] " "
218 [email protected] "="
219 [email protected] " "
220 [email protected]
221 [email protected] "("
222 [email protected] ")"
223 [email protected] ";"
224 [email protected] "\n "
225 [email protected] "//"
226 [email protected] "\n "
227 [email protected] "// Slices"
228 [email protected] "\n "
229 [email protected] "//"
230 [email protected] "\n "
231 [email protected]
232 [email protected] "let"
233 [email protected] " "
234 [email protected]
235 [email protected] "["
236 [email protected]
237 [email protected] ".."
238 [email protected] "]"
239 [email protected] " "
240 [email protected] "="
241 [email protected] " "
242 [email protected]
243 [email protected] "("
244 [email protected] ")"
245 [email protected] ";"
246 [email protected] "\n "
247 [email protected]
248 [email protected] "let"
249 [email protected] " "
250 [email protected]
251 [email protected] "["
252 [email protected]
253 [email protected]
254 [email protected] "head"
255 [email protected] ","
256 [email protected] " "
257 [email protected]
258 [email protected] ".."
259 [email protected] "]"
260 [email protected] " "
261 [email protected] "="
262 [email protected] " "
263 [email protected]
264 [email protected] "("
265 [email protected] ")"
266 [email protected] ";"
267 [email protected] "\n "
268 [email protected]
269 [email protected] "let"
270 [email protected] " "
271 [email protected]
272 [email protected] "["
273 [email protected]
274 [email protected]
275 [email protected] "head"
276 [email protected] ","
277 [email protected] " "
278 [email protected]
279 [email protected]
280 [email protected] "tail"
281 [email protected] " "
282 [email protected] "@"
283 [email protected] " "
284 [email protected]
285 [email protected] ".."
286 [email protected] "]"
287 [email protected] " "
288 [email protected] "="
289 [email protected] " "
290 [email protected]
291 [email protected] "("
292 [email protected] ")"
293 [email protected] ";"
294 [email protected] "\n "
295 [email protected]
296 [email protected] "let"
297 [email protected] " "
298 [email protected]
299 [email protected] "["
300 [email protected]
301 [email protected]
302 [email protected] "head"
303 [email protected] ","
304 [email protected] " "
305 [email protected]
306 [email protected] ".."
307 [email protected] ","
308 [email protected] " "
309 [email protected]
310 [email protected]
311 [email protected] "cons"
312 [email protected] "]"
313 [email protected] " "
314 [email protected] "="
315 [email protected] " "
316 [email protected]
317 [email protected] "("
318 [email protected] ")"
319 [email protected] ";"
320 [email protected] "\n "
321 [email protected]
322 [email protected] "let"
323 [email protected] " "
324 [email protected]
325 [email protected] "["
326 [email protected]
327 [email protected]
328 [email protected] "head"
329 [email protected] ","
330 [email protected] " "
331 [email protected]
332 [email protected]
333 [email protected] "mid"
334 [email protected] " "
335 [email protected] "@"
336 [email protected] " "
337 [email protected]
338 [email protected] ".."
339 [email protected] ","
340 [email protected] " "
341 [email protected]
342 [email protected]
343 [email protected] "cons"
344 [email protected] "]"
345 [email protected] " "
346 [email protected] "="
347 [email protected] " "
348 [email protected]
349 [email protected] "("
350 [email protected] ")"
351 [email protected] ";"
352 [email protected] "\n "
353 [email protected]
354 [email protected] "let"
355 [email protected] " "
356 [email protected]
357 [email protected] "["
358 [email protected]
359 [email protected]
360 [email protected] "head"
361 [email protected] ","
362 [email protected] " "
363 [email protected]
364 [email protected] ".."
365 [email protected] ","
366 [email protected] " "
367 [email protected]
368 [email protected] ".."
369 [email protected] ","
370 [email protected] " "
371 [email protected]
372 [email protected]
373 [email protected] "cons"
374 [email protected] "]"
375 [email protected] " "
376 [email protected] "="
377 [email protected] " "
378 [email protected]
379 [email protected] "("
380 [email protected] ")"
381 [email protected] ";"
382 [email protected] "\n "
383 [email protected]
384 [email protected] "let"
385 [email protected] " "
386 [email protected]
387 [email protected] "["
388 [email protected]
389 [email protected]
390 [email protected] "head"
391 [email protected] ","
392 [email protected] " "
393 [email protected]
394 [email protected] ".."
395 [email protected] ","
396 [email protected] " "
397 [email protected]
398 [email protected]
399 [email protected] "mid"
400 [email protected] ","
401 [email protected] " "
402 [email protected]
403 [email protected]
404 [email protected] "tail"
405 [email protected] " "
406 [email protected] "@"
407 [email protected] " "
408 [email protected]
409 [email protected] ".."
410 [email protected] "]"
411 [email protected] " "
412 [email protected] "="
413 [email protected] " "
414 [email protected]
415 [email protected] "("
416 [email protected] ")"
417 [email protected] ";"
418 [email protected] "\n "
419 [email protected]
420 [email protected] "let"
421 [email protected] " "
422 [email protected]
423 [email protected] "["
424 [email protected]
425 [email protected]
426 [email protected] "head"
427 [email protected] ","
428 [email protected] " "
429 [email protected]
430 [email protected] ".."
431 [email protected] ","
432 [email protected] " "
433 [email protected]
434 [email protected]
435 [email protected] "mid"
436 [email protected] ","
437 [email protected] " "
438 [email protected]
439 [email protected] ".."
440 [email protected] ","
441 [email protected] " "
442 [email protected]
443 [email protected]
444 [email protected] "cons"
445 [email protected] "]"
446 [email protected] " "
447 [email protected] "="
448 [email protected] " "
449 [email protected]
450 [email protected] "("
451 [email protected] ")"
452 [email protected] ";"
453 [email protected] "\n"
454 [email protected] "}"
455 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rs b/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rs
new file mode 100644
index 000000000..3262f27e1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rs
@@ -0,0 +1,25 @@
1fn main() {
2 let .. = ();
3 //
4 // Tuples
5 //
6 let (a, ..) = ();
7 let (a, ..,) = ();
8 let Tuple(a, ..) = ();
9 let Tuple(a, ..,) = ();
10 let (.., ..) = ();
11 let Tuple(.., ..) = ();
12 let (.., a, ..) = ();
13 let Tuple(.., a, ..) = ();
14 //
15 // Slices
16 //
17 let [..] = ();
18 let [head, ..] = ();
19 let [head, tail @ ..] = ();
20 let [head, .., cons] = ();
21 let [head, mid @ .., cons] = ();
22 let [head, .., .., cons] = ();
23 let [head, .., mid, tail @ ..] = ();
24 let [head, .., mid, .., cons] = ();
25}
diff --git a/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rast b/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rast
new file mode 100644
index 000000000..925409bdf
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rast
@@ -0,0 +1,75 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "S"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected] "0"
29 [email protected] ":"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected] "1"
34 [email protected] " "
35 [email protected] "}"
36 [email protected] " "
37 [email protected] "="
38 [email protected] " "
39 [email protected]
40 [email protected] "("
41 [email protected] ")"
42 [email protected] ";"
43 [email protected] "\n "
44 [email protected]
45 [email protected] "let"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "S"
52 [email protected] " "
53 [email protected]
54 [email protected] "{"
55 [email protected] " "
56 [email protected]
57 [email protected]
58 [email protected] "x"
59 [email protected] ":"
60 [email protected] " "
61 [email protected]
62 [email protected]
63 [email protected] "1"
64 [email protected] " "
65 [email protected] "}"
66 [email protected] " "
67 [email protected] "="
68 [email protected] " "
69 [email protected]
70 [email protected] "("
71 [email protected] ")"
72 [email protected] ";"
73 [email protected] "\n"
74 [email protected] "}"
75 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rs b/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rs
new file mode 100644
index 000000000..26b1d5f89
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0145_record_field_pat.rs
@@ -0,0 +1,4 @@
1fn foo() {
2 let S { 0: 1 } = ();
3 let S { x: 1 } = ();
4}
diff --git a/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rast b/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rast
new file mode 100644
index 000000000..a36cc8dab
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rast
@@ -0,0 +1,42 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected] "&"
25 [email protected]
26 [email protected] "1"
27 [email protected] " "
28 [email protected] "as"
29 [email protected] " "
30 [email protected]
31 [email protected] "*"
32 [email protected] "const"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "i32"
39 [email protected] ";"
40 [email protected] "\n"
41 [email protected] "}"
42 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rs b/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rs
new file mode 100644
index 000000000..a06dec1fa
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0146_as_precedence.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 let _ = &1 as *const i32;
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0147_const_param.rast b/crates/syntax/test_data/parser/inline/ok/0147_const_param.rast
new file mode 100644
index 000000000..9312eab65
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0147_const_param.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected] "const"
11 [email protected] " "
12 [email protected]
13 [email protected] "N"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "u32"
21 [email protected] ">"
22 [email protected] ";"
23 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0147_const_param.rs b/crates/syntax/test_data/parser/inline/ok/0147_const_param.rs
new file mode 100644
index 000000000..8cdb3b703
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0147_const_param.rs
@@ -0,0 +1 @@
struct S<const N: u32>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rast b/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rast
new file mode 100644
index 000000000..6655aeab1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rast
@@ -0,0 +1,45 @@
1[email protected]
2 [email protected]
3 [email protected] "macro"
4 [email protected] " "
5 [email protected]
6 [email protected] "m"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] " "
11 [email protected]
12 [email protected] "("
13 [email protected] "$"
14 [email protected] "i"
15 [email protected] ":"
16 [email protected] "ident"
17 [email protected] ")"
18 [email protected] " "
19 [email protected] "="
20 [email protected] ">"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] " "
26 [email protected] "}"
27 [email protected] "\n"
28 [email protected]
29 [email protected] "macro"
30 [email protected] " "
31 [email protected]
32 [email protected] "m"
33 [email protected]
34 [email protected]
35 [email protected] "("
36 [email protected] "$"
37 [email protected] "i"
38 [email protected] ":"
39 [email protected] "ident"
40 [email protected] ")"
41 [email protected] " "
42 [email protected]
43 [email protected] "{"
44 [email protected] "}"
45 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rs b/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rs
new file mode 100644
index 000000000..319a4e2aa
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0147_macro_def.rs
@@ -0,0 +1,2 @@
1macro m { ($i:ident) => {} }
2macro m($i:ident) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast b/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast
new file mode 100644
index 000000000..1c527f60b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast
@@ -0,0 +1,21 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "pub"
5 [email protected] " "
6 [email protected] "macro"
7 [email protected] " "
8 [email protected]
9 [email protected] "m"
10 [email protected]
11 [email protected]
12 [email protected] "("
13 [email protected] "$"
14 [email protected] ":"
15 [email protected] "ident"
16 [email protected] ")"
17 [email protected] " "
18 [email protected]
19 [email protected] "{"
20 [email protected] "}"
21 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rs b/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rs
new file mode 100644
index 000000000..3b2be597f
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0148_pub_macro_def.rs
@@ -0,0 +1 @@
pub macro m($:ident) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
new file mode 100644
index 000000000..f284aafcd
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
@@ -0,0 +1,47 @@
1[email protected]
2 [email protected]
3 [email protected] "const"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] ":"
8 [email protected] " "
9 [email protected]
10 [email protected] "&"
11 [email protected]
12 [email protected] "["
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "i64"
18 [email protected] "]"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "&"
24 [email protected]
25 [email protected] "["
26 [email protected]
27 [email protected] "1"
28 [email protected] ","
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected] "#"
33 [email protected] "["
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected] "cfg"
38 [email protected]
39 [email protected] "("
40 [email protected] "test"
41 [email protected] ")"
42 [email protected] "]"
43 [email protected] " "
44 [email protected] "2"
45 [email protected] "]"
46 [email protected] ";"
47 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rs b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rs
new file mode 100644
index 000000000..2ac310924
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rs
@@ -0,0 +1 @@
const A: &[i64] = &[1, #[cfg(test)] 2];
diff --git a/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rast b/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rast
new file mode 100644
index 000000000..12194abda
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rast
@@ -0,0 +1,38 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected]
5 [email protected] "<"
6 [email protected]
7 [email protected] "const"
8 [email protected] " "
9 [email protected]
10 [email protected] "N"
11 [email protected] ":"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "u32"
18 [email protected] ">"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "Bar"
25 [email protected]
26 [email protected] "<"
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "N"
33 [email protected] ">"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "}"
38 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rs b/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rs
new file mode 100644
index 000000000..cb0a105c2
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0150_impl_type_params.rs
@@ -0,0 +1 @@
impl<const N: u32> Bar<N> {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0151_fn.rast b/crates/syntax/test_data/parser/inline/ok/0151_fn.rast
new file mode 100644
index 000000000..23c4269b3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0151_fn.rast
@@ -0,0 +1,14 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0151_fn.rs b/crates/syntax/test_data/parser/inline/ok/0151_fn.rs
new file mode 100644
index 000000000..8f3b7ef11
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0151_fn.rs
@@ -0,0 +1 @@
fn foo() {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rast b/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rast
new file mode 100644
index 000000000..dac50410e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rast
@@ -0,0 +1,128 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "Z"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "U"
12 [email protected] ">"
13 [email protected] " "
14 [email protected] "="
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "T"
23 [email protected]
24 [email protected] "<"
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "U"
31 [email protected] ">"
32 [email protected] ";"
33 [email protected] "\n"
34 [email protected]
35 [email protected] "trait"
36 [email protected] " "
37 [email protected]
38 [email protected] "Z"
39 [email protected]
40 [email protected] "<"
41 [email protected]
42 [email protected]
43 [email protected] "U"
44 [email protected] ">"
45 [email protected] " "
46 [email protected] "="
47 [email protected] " "
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected] "T"
55 [email protected]
56 [email protected] "<"
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected] "U"
63 [email protected] ">"
64 [email protected] " "
65 [email protected]
66 [email protected] "where"
67 [email protected] " "
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected] "U"
74 [email protected] ":"
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "Copy"
83 [email protected] ";"
84 [email protected] "\n"
85 [email protected]
86 [email protected] "trait"
87 [email protected] " "
88 [email protected]
89 [email protected] "Z"
90 [email protected]
91 [email protected] "<"
92 [email protected]
93 [email protected]
94 [email protected] "U"
95 [email protected] ">"
96 [email protected] " "
97 [email protected] "="
98 [email protected] " "
99 [email protected]
100 [email protected]
101 [email protected] "where"
102 [email protected] " "
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected] "Self"
109 [email protected] ":"
110 [email protected] " "
111 [email protected]
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected]
117 [email protected] "T"
118 [email protected]
119 [email protected] "<"
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected]
124 [email protected]
125 [email protected] "U"
126 [email protected] ">"
127 [email protected] ";"
128 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rs b/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rs
new file mode 100644
index 000000000..4bd428ee4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0151_trait_alias.rs
@@ -0,0 +1,3 @@
1trait Z<U> = T<U>;
2trait Z<U> = T<U> where U: Copy;
3trait Z<U> = where Self: T<U>;
diff --git a/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
new file mode 100644
index 000000000..2905c5f1a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
@@ -0,0 +1,36 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "foo"
20 [email protected]
21 [email protected] "("
22 [email protected]
23 [email protected]
24 [email protected] "#"
25 [email protected] "["
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "attr"
30 [email protected] "]"
31 [email protected] " "
32 [email protected] "92"
33 [email protected] ")"
34 [email protected] "\n"
35 [email protected] "}"
36 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rs b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rs
new file mode 100644
index 000000000..5daf1d7b0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rs
@@ -0,0 +1,3 @@
1fn main() {
2 foo(#[attr] 92)
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0152_impl.rast b/crates/syntax/test_data/parser/inline/ok/0152_impl.rast
new file mode 100644
index 000000000..7968cf9ff
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0152_impl.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "T"
10 [email protected] " "
11 [email protected] "for"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "S"
18 [email protected] " "
19 [email protected]
20 [email protected] "{"
21 [email protected] "}"
22 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0152_impl.rs b/crates/syntax/test_data/parser/inline/ok/0152_impl.rs
new file mode 100644
index 000000000..a1a550d8a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0152_impl.rs
@@ -0,0 +1 @@
impl T for S {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0153_trait.rast b/crates/syntax/test_data/parser/inline/ok/0153_trait.rast
new file mode 100644
index 000000000..9881e5048
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0153_trait.rast
@@ -0,0 +1,11 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "}"
11 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0153_trait.rs b/crates/syntax/test_data/parser/inline/ok/0153_trait.rs
new file mode 100644
index 000000000..8d183dbb5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0153_trait.rs
@@ -0,0 +1 @@
trait T {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast b/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
new file mode 100644
index 000000000..e6aff7b37
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
@@ -0,0 +1,58 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "fn"
12 [email protected]
13 [email protected] "("
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "Bar"
21 [email protected] "::"
22 [email protected]
23 [email protected]
24 [email protected] "Baz"
25 [email protected] ")"
26 [email protected] ";"
27 [email protected] "\n"
28 [email protected]
29 [email protected] "type"
30 [email protected] " "
31 [email protected]
32 [email protected] "Qux"
33 [email protected] " "
34 [email protected] "="
35 [email protected] " "
36 [email protected]
37 [email protected] "fn"
38 [email protected]
39 [email protected] "("
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "baz"
44 [email protected] ":"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "Bar"
52 [email protected] "::"
53 [email protected]
54 [email protected]
55 [email protected] "Baz"
56 [email protected] ")"
57 [email protected] ";"
58 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs b/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs
new file mode 100644
index 000000000..80a1701fd
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs
@@ -0,0 +1,2 @@
1type Foo = fn(Bar::Baz);
2type Qux = fn(baz: Bar::Baz);
diff --git a/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rast b/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rast
new file mode 100644
index 000000000..31671b420
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rast
@@ -0,0 +1,69 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "foo"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "|"
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "bar"
30 [email protected] ","
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "baz"
36 [email protected] ":"
37 [email protected] " "
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "Baz"
43 [email protected] ","
44 [email protected] " "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "qux"
49 [email protected] ":"
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "Qux"
57 [email protected] "::"
58 [email protected]
59 [email protected]
60 [email protected] "Quux"
61 [email protected] "|"
62 [email protected] " "
63 [email protected]
64 [email protected] "("
65 [email protected] ")"
66 [email protected] ";"
67 [email protected] "\n"
68 [email protected] "}"
69 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rs b/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rs
new file mode 100644
index 000000000..6ca8dd2d6
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0155_closure_params.rs
@@ -0,0 +1,3 @@
1fn main() {
2 let foo = |bar, baz: Baz, qux: Qux::Quux| ();
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rast b/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rast
new file mode 100644
index 000000000..508b4aca7
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected] "("
12 [email protected]
13 [email protected]
14 [email protected] "x"
15 [email protected] ","
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "y"
20 [email protected] ")"
21 [email protected] ":"
22 [email protected] " "
23 [email protected]
24 [email protected] "("
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "i32"
30 [email protected] ","
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "i32"
37 [email protected] ")"
38 [email protected] ")"
39 [email protected] " "
40 [email protected]
41 [email protected] "{"
42 [email protected] "}"
43 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rs b/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rs
new file mode 100644
index 000000000..7b277c16b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0156_fn_def_param.rs
@@ -0,0 +1 @@
fn foo((x, y): (i32, i32)) {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rast b/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rast
new file mode 100644
index 000000000..88a513cee
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rast
@@ -0,0 +1,111 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] "("
19 [email protected] ")"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "\n "
24 [email protected]
25 [email protected]
26 [email protected] "("
27 [email protected]
28 [email protected]
29 [email protected] "_"
30 [email protected] " "
31 [email protected] "|"
32 [email protected] " "
33 [email protected]
34 [email protected] "_"
35 [email protected] ")"
36 [email protected] " "
37 [email protected] "=>"
38 [email protected] " "
39 [email protected]
40 [email protected] "("
41 [email protected] ")"
42 [email protected] ","
43 [email protected] "\n "
44 [email protected]
45 [email protected]
46 [email protected] "&"
47 [email protected]
48 [email protected] "("
49 [email protected]
50 [email protected]
51 [email protected] "_"
52 [email protected] " "
53 [email protected] "|"
54 [email protected] " "
55 [email protected]
56 [email protected] "_"
57 [email protected] ")"
58 [email protected] " "
59 [email protected] "=>"
60 [email protected] " "
61 [email protected]
62 [email protected] "("
63 [email protected] ")"
64 [email protected] ","
65 [email protected] "\n "
66 [email protected]
67 [email protected]
68 [email protected] "("
69 [email protected]
70 [email protected]
71 [email protected] "_"
72 [email protected] " "
73 [email protected] "|"
74 [email protected] " "
75 [email protected]
76 [email protected] "_"
77 [email protected] ","
78 [email protected] ")"
79 [email protected] " "
80 [email protected] "=>"
81 [email protected] " "
82 [email protected]
83 [email protected] "("
84 [email protected] ")"
85 [email protected] ","
86 [email protected] "\n "
87 [email protected]
88 [email protected]
89 [email protected] "["
90 [email protected]
91 [email protected]
92 [email protected] "_"
93 [email protected] " "
94 [email protected] "|"
95 [email protected] " "
96 [email protected]
97 [email protected] "_"
98 [email protected] ","
99 [email protected] "]"
100 [email protected] " "
101 [email protected] "=>"
102 [email protected] " "
103 [email protected]
104 [email protected] "("
105 [email protected] ")"
106 [email protected] ","
107 [email protected] "\n "
108 [email protected] "}"
109 [email protected] "\n"
110 [email protected] "}"
111 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rs b/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rs
new file mode 100644
index 000000000..a26316605
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0156_or_pattern.rs
@@ -0,0 +1,8 @@
1fn main() {
2 match () {
3 (_ | _) => (),
4 &(_ | _) => (),
5 (_ | _,) => (),
6 [_ | _,] => (),
7 }
8}
diff --git a/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast b/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
new file mode 100644
index 000000000..6abb4fe5a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
@@ -0,0 +1,26 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "Foo"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "fn"
12 [email protected]
13 [email protected] "("
14 [email protected]
15 [email protected]
16 [email protected] "_"
17 [email protected] ":"
18 [email protected] " "
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected] "bar"
24 [email protected] ")"
25 [email protected] ";"
26 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs b/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs
new file mode 100644
index 000000000..1ebbe5b03
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs
@@ -0,0 +1 @@
type Foo = fn(_: bar);
diff --git a/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast b/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast
new file mode 100644
index 000000000..a2e05eb2e
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast
@@ -0,0 +1,30 @@
1[email protected]
2 [email protected]
3 [email protected] "enum"
4 [email protected] " "
5 [email protected]
6 [email protected] "E"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] " "
11 [email protected]
12 [email protected]
13 [email protected] "X"
14 [email protected]
15 [email protected] "("
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "i32"
22 [email protected] ")"
23 [email protected] " "
24 [email protected] "="
25 [email protected] " "
26 [email protected]
27 [email protected] "10"
28 [email protected] " "
29 [email protected] "}"
30 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rs b/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rs
new file mode 100644
index 000000000..c8c5c0f17
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0157_variant_discriminant.rs
@@ -0,0 +1 @@
enum E { X(i32) = 10 }
diff --git a/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast b/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast
new file mode 100644
index 000000000..8ae24b9c1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast
@@ -0,0 +1,36 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "v"
21 [email protected] " "
22 [email protected] "="
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected] "{"
27 [email protected]
28 [email protected] "1"
29 [email protected] "}"
30 [email protected] "&"
31 [email protected]
32 [email protected] "2"
33 [email protected] ";"
34 [email protected] "\n"
35 [email protected] "}"
36 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rs b/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rs
new file mode 100644
index 000000000..05acc30f1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rs
@@ -0,0 +1,3 @@
1fn foo() {
2 v = {1}&2;
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast b/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast
new file mode 100644
index 000000000..aa4099a92
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast
@@ -0,0 +1,43 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "|"
19 [email protected] "|"
20 [email protected] " "
21 [email protected]
22 [email protected] "->"
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "i32"
29 [email protected] " "
30 [email protected]
31 [email protected] "{"
32 [email protected] " "
33 [email protected]
34 [email protected] "92"
35 [email protected] " "
36 [email protected] "}"
37 [email protected]
38 [email protected] "("
39 [email protected] ")"
40 [email protected] ";"
41 [email protected] " "
42 [email protected] "}"
43 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rs b/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rs
new file mode 100644
index 000000000..061118d3a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rs
@@ -0,0 +1 @@
fn main() { || -> i32 { 92 }(); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast b/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast
new file mode 100644
index 000000000..fb46d4ce4
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast
@@ -0,0 +1,34 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "try"
20 [email protected] "!"
21 [email protected]
22 [email protected] "("
23 [email protected] "Ok"
24 [email protected]
25 [email protected] "("
26 [email protected]
27 [email protected] "("
28 [email protected] ")"
29 [email protected] ")"
30 [email protected] ")"
31 [email protected] ";"
32 [email protected] " "
33 [email protected] "}"
34 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rs b/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rs
new file mode 100644
index 000000000..61a6b46a0
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rs
@@ -0,0 +1 @@
fn foo() { try!(Ok(())); }
diff --git a/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rast b/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rast
new file mode 100644
index 000000000..05b89d1c3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rast
@@ -0,0 +1,27 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected]
5 [email protected]
6 [email protected] "macro_rules"
7 [email protected] "!"
8 [email protected] " "
9 [email protected]
10 [email protected] "try"
11 [email protected] " "
12 [email protected]
13 [email protected] "{"
14 [email protected] " "
15 [email protected]
16 [email protected] "("
17 [email protected] ")"
18 [email protected] " "
19 [email protected] "="
20 [email protected] ">"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] " "
26 [email protected] "}"
27 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rs b/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rs
new file mode 100644
index 000000000..2e2ab6e60
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0160_try_macro_rules.rs
@@ -0,0 +1 @@
macro_rules! try { () => {} }
diff --git a/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rast b/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rast
new file mode 100644
index 000000000..9e9a5f9c5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rast
@@ -0,0 +1,26 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "\'label"
18 [email protected] ":"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "}"
23 [email protected] ";"
24 [email protected] " "
25 [email protected] "}"
26 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rs b/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rs
new file mode 100644
index 000000000..18b4ff4b1
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0161_labeled_block.rs
@@ -0,0 +1 @@
fn f() { 'label: {}; }
diff --git a/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rast b/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rast
new file mode 100644
index 000000000..ca9a1183d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "unsafe"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] " "
20 [email protected] "}"
21 [email protected] " "
22 [email protected] "}"
23 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rs b/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rs
new file mode 100644
index 000000000..dfb9b2a1c
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0162_unsafe_block.rs
@@ -0,0 +1 @@
fn f() { unsafe { } }
diff --git a/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rast b/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rast
new file mode 100644
index 000000000..f2e201460
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rast
@@ -0,0 +1,44 @@
1[email protected]
2 [email protected]
3 [email protected] "default"
4 [email protected] " "
5 [email protected] "unsafe"
6 [email protected] " "
7 [email protected] "impl"
8 [email protected] " "
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected] "T"
14 [email protected] " "
15 [email protected] "for"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "Foo"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "\n "
26 [email protected]
27 [email protected] "default"
28 [email protected] " "
29 [email protected] "unsafe"
30 [email protected] " "
31 [email protected] "fn"
32 [email protected] " "
33 [email protected]
34 [email protected] "foo"
35 [email protected]
36 [email protected] "("
37 [email protected] ")"
38 [email protected] " "
39 [email protected]
40 [email protected] "{"
41 [email protected] "}"
42 [email protected] "\n"
43 [email protected] "}"
44 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rs b/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rs
new file mode 100644
index 000000000..96340f84a
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0163_default_unsafe_item.rs
@@ -0,0 +1,3 @@
1default unsafe impl T for Foo {
2 default unsafe fn foo() {}
3}
diff --git a/crates/syntax/test_data/parser/inline/ok/0164_default_item.rast b/crates/syntax/test_data/parser/inline/ok/0164_default_item.rast
new file mode 100644
index 000000000..9282772f3
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0164_default_item.rast
@@ -0,0 +1,24 @@
1[email protected]
2 [email protected]
3 [email protected] "default"
4 [email protected] " "
5 [email protected] "impl"
6 [email protected] " "
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] " "
13 [email protected] "for"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "Foo"
20 [email protected] " "
21 [email protected]
22 [email protected] "{"
23 [email protected] "}"
24 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0164_default_item.rs b/crates/syntax/test_data/parser/inline/ok/0164_default_item.rs
new file mode 100644
index 000000000..a6836cbd5
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0164_default_item.rs
@@ -0,0 +1 @@
default impl T for Foo {}
diff --git a/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rast b/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rast
new file mode 100644
index 000000000..f8910677b
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rast
@@ -0,0 +1,38 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "<"
22 [email protected]
23 [email protected] "_"
24 [email protected] ">"
25 [email protected] "::"
26 [email protected]
27 [email protected]
28 [email protected] "Foo"
29 [email protected] " "
30 [email protected] "="
31 [email protected] " "
32 [email protected]
33 [email protected] "("
34 [email protected] ")"
35 [email protected] ";"
36 [email protected] " "
37 [email protected] "}"
38 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rs b/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rs
new file mode 100644
index 000000000..ebe26834d
--- /dev/null
+++ b/crates/syntax/test_data/parser/inline/ok/0164_type_path_in_pattern.rs
@@ -0,0 +1 @@
fn main() { let <_>::Foo = (); }
diff --git a/crates/syntax/test_data/parser/ok/0000_empty.rast b/crates/syntax/test_data/parser/ok/0000_empty.rast
new file mode 100644
index 000000000..6b234b0b2
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0000_empty.rast
@@ -0,0 +1 @@
[email protected]
diff --git a/crates/syntax/test_data/parser/ok/0000_empty.rs b/crates/syntax/test_data/parser/ok/0000_empty.rs
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0000_empty.rs
diff --git a/crates/syntax/test_data/parser/ok/0001_struct_item.rast b/crates/syntax/test_data/parser/ok/0001_struct_item.rast
new file mode 100644
index 000000000..a171fe7a8
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0001_struct_item.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ":"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "Copy"
21 [email protected] ">"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "\n "
26 [email protected]
27 [email protected]
28 [email protected] "f"
29 [email protected] ":"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "T"
36 [email protected] ","
37 [email protected] "\n"
38 [email protected] "}"
39 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0001_struct_item.rs b/crates/syntax/test_data/parser/ok/0001_struct_item.rs
new file mode 100644
index 000000000..512aeb3e7
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0001_struct_item.rs
@@ -0,0 +1,3 @@
1struct S<T: Copy> {
2 f: T,
3}
diff --git a/crates/syntax/test_data/parser/ok/0002_struct_item_field.rast b/crates/syntax/test_data/parser/ok/0002_struct_item_field.rast
new file mode 100644
index 000000000..362892b91
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0002_struct_item_field.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "foo"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "u32"
21 [email protected] "\n"
22 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0002_struct_item_field.rs b/crates/syntax/test_data/parser/ok/0002_struct_item_field.rs
new file mode 100644
index 000000000..cc3866d25
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0002_struct_item_field.rs
@@ -0,0 +1,3 @@
1struct S {
2 foo: u32
3} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0004_file_shebang.rast b/crates/syntax/test_data/parser/ok/0004_file_shebang.rast
new file mode 100644
index 000000000..67e21df13
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0004_file_shebang.rast
@@ -0,0 +1,2 @@
1[email protected]
2 [email protected] "#!/use/bin/env rusti"
diff --git a/crates/syntax/test_data/parser/ok/0004_file_shebang.rs b/crates/syntax/test_data/parser/ok/0004_file_shebang.rs
new file mode 100644
index 000000000..53dc9e617
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0004_file_shebang.rs
@@ -0,0 +1 @@
#!/use/bin/env rusti \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0005_fn_item.rast b/crates/syntax/test_data/parser/ok/0005_fn_item.rast
new file mode 100644
index 000000000..a7a2b11a7
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0005_fn_item.rast
@@ -0,0 +1,15 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n"
14 [email protected] "}"
15 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0005_fn_item.rs b/crates/syntax/test_data/parser/ok/0005_fn_item.rs
new file mode 100644
index 000000000..03210551c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0005_fn_item.rs
@@ -0,0 +1,2 @@
1fn foo() {
2}
diff --git a/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
new file mode 100644
index 000000000..42587243a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
@@ -0,0 +1,184 @@
1[email protected]
2 [email protected]
3 [email protected] "#"
4 [email protected] "!"
5 [email protected] "["
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "attr"
10 [email protected] "]"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "#"
14 [email protected] "!"
15 [email protected] "["
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "attr"
20 [email protected]
21 [email protected] "("
22 [email protected] "true"
23 [email protected] ")"
24 [email protected] "]"
25 [email protected] "\n"
26 [email protected]
27 [email protected] "#"
28 [email protected] "!"
29 [email protected] "["
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "attr"
34 [email protected]
35 [email protected] "("
36 [email protected] "ident"
37 [email protected] ")"
38 [email protected] "]"
39 [email protected] "\n"
40 [email protected]
41 [email protected] "#"
42 [email protected] "!"
43 [email protected] "["
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected] "attr"
48 [email protected]
49 [email protected] "("
50 [email protected] "ident"
51 [email protected] ","
52 [email protected] " "
53 [email protected] "100"
54 [email protected] ","
55 [email protected] " "
56 [email protected] "true"
57 [email protected] ","
58 [email protected] " "
59 [email protected] "\"true\""
60 [email protected] ","
61 [email protected] " "
62 [email protected] "ident"
63 [email protected] " "
64 [email protected] "="
65 [email protected] " "
66 [email protected] "100"
67 [email protected] ","
68 [email protected] " "
69 [email protected] "ident"
70 [email protected] " "
71 [email protected] "="
72 [email protected] " "
73 [email protected] "\"hello\""
74 [email protected] ","
75 [email protected] " "
76 [email protected] "ident"
77 [email protected]
78 [email protected] "("
79 [email protected] "100"
80 [email protected] ")"
81 [email protected] ")"
82 [email protected] "]"
83 [email protected] "\n"
84 [email protected]
85 [email protected] "#"
86 [email protected] "!"
87 [email protected] "["
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected] "attr"
92 [email protected]
93 [email protected] "("
94 [email protected] "100"
95 [email protected] ")"
96 [email protected] "]"
97 [email protected] "\n"
98 [email protected]
99 [email protected] "#"
100 [email protected] "!"
101 [email protected] "["
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected] "attr"
106 [email protected]
107 [email protected] "("
108 [email protected] "enabled"
109 [email protected] " "
110 [email protected] "="
111 [email protected] " "
112 [email protected] "true"
113 [email protected] ")"
114 [email protected] "]"
115 [email protected] "\n"
116 [email protected]
117 [email protected] "#"
118 [email protected] "!"
119 [email protected] "["
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected] "enabled"
124 [email protected]
125 [email protected] "("
126 [email protected] "true"
127 [email protected] ")"
128 [email protected] "]"
129 [email protected] "\n"
130 [email protected]
131 [email protected] "#"
132 [email protected] "!"
133 [email protected] "["
134 [email protected]
135 [email protected]
136 [email protected]
137 [email protected] "attr"
138 [email protected]
139 [email protected] "("
140 [email protected] "\"hello\""
141 [email protected] ")"
142 [email protected] "]"
143 [email protected] "\n"
144 [email protected]
145 [email protected] "#"
146 [email protected] "!"
147 [email protected] "["
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected] "repr"
152 [email protected]
153 [email protected] "("
154 [email protected] "C"
155 [email protected] ","
156 [email protected] " "
157 [email protected] "align"
158 [email protected] " "
159 [email protected] "="
160 [email protected] " "
161 [email protected] "4"
162 [email protected] ")"
163 [email protected] "]"
164 [email protected] "\n"
165 [email protected]
166 [email protected] "#"
167 [email protected] "!"
168 [email protected] "["
169 [email protected]
170 [email protected]
171 [email protected]
172 [email protected] "repr"
173 [email protected]
174 [email protected] "("
175 [email protected] "C"
176 [email protected] ","
177 [email protected] " "
178 [email protected] "align"
179 [email protected]
180 [email protected] "("
181 [email protected] "4"
182 [email protected] ")"
183 [email protected] ")"
184 [email protected] "]"
diff --git a/crates/syntax/test_data/parser/ok/0006_inner_attributes.rs b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rs
new file mode 100644
index 000000000..e81f8b1e8
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rs
@@ -0,0 +1,10 @@
1#![attr]
2#![attr(true)]
3#![attr(ident)]
4#![attr(ident, 100, true, "true", ident = 100, ident = "hello", ident(100))]
5#![attr(100)]
6#![attr(enabled = true)]
7#![enabled(true)]
8#![attr("hello")]
9#![repr(C, align = 4)]
10#![repr(C, align(4))] \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0007_extern_crate.rast b/crates/syntax/test_data/parser/ok/0007_extern_crate.rast
new file mode 100644
index 000000000..594c2f8f2
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0007_extern_crate.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected]
3 [email protected] "extern"
4 [email protected] " "
5 [email protected] "crate"
6 [email protected] " "
7 [email protected]
8 [email protected] "foo"
9 [email protected] ";"
10 [email protected] "\n"
11 [email protected]
12 [email protected] "extern"
13 [email protected] " "
14 [email protected] "crate"
15 [email protected] " "
16 [email protected]
17 [email protected] "foo"
18 [email protected] " "
19 [email protected]
20 [email protected] "as"
21 [email protected] " "
22 [email protected]
23 [email protected] "bar"
24 [email protected] ";"
25 [email protected] "\n"
26 [email protected]
27 [email protected] "extern"
28 [email protected] " "
29 [email protected] "crate"
30 [email protected] " "
31 [email protected] "self"
32 [email protected] " "
33 [email protected]
34 [email protected] "as"
35 [email protected] " "
36 [email protected]
37 [email protected] "baz"
38 [email protected] ";"
39 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0007_extern_crate.rs b/crates/syntax/test_data/parser/ok/0007_extern_crate.rs
new file mode 100644
index 000000000..ab81a608c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0007_extern_crate.rs
@@ -0,0 +1,3 @@
1extern crate foo;
2extern crate foo as bar;
3extern crate self as baz;
diff --git a/crates/syntax/test_data/parser/ok/0008_mod_item.rast b/crates/syntax/test_data/parser/ok/0008_mod_item.rast
new file mode 100644
index 000000000..b2c1d791f
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0008_mod_item.rast
@@ -0,0 +1,92 @@
1[email protected]
2 [email protected]
3 [email protected] "mod"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected] ";"
8 [email protected] "\n\n"
9 [email protected]
10 [email protected] "mod"
11 [email protected] " "
12 [email protected]
13 [email protected] "b"
14 [email protected] " "
15 [email protected]
16 [email protected] "{"
17 [email protected] "\n"
18 [email protected] "}"
19 [email protected] "\n\n"
20 [email protected]
21 [email protected] "mod"
22 [email protected] " "
23 [email protected]
24 [email protected] "c"
25 [email protected] " "
26 [email protected]
27 [email protected] "{"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "fn"
31 [email protected] " "
32 [email protected]
33 [email protected] "foo"
34 [email protected]
35 [email protected] "("
36 [email protected] ")"
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected] "\n "
41 [email protected] "}"
42 [email protected] "\n "
43 [email protected]
44 [email protected] "struct"
45 [email protected] " "
46 [email protected]
47 [email protected] "S"
48 [email protected] " "
49 [email protected]
50 [email protected] "{"
51 [email protected] "}"
52 [email protected] "\n"
53 [email protected] "}"
54 [email protected] "\n\n"
55 [email protected]
56 [email protected] "mod"
57 [email protected] " "
58 [email protected]
59 [email protected] "d"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] "\n "
64 [email protected]
65 [email protected] "#"
66 [email protected] "!"
67 [email protected] "["
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected] "attr"
72 [email protected] "]"
73 [email protected] "\n "
74 [email protected]
75 [email protected] "mod"
76 [email protected] " "
77 [email protected]
78 [email protected] "e"
79 [email protected] ";"
80 [email protected] "\n "
81 [email protected]
82 [email protected] "mod"
83 [email protected] " "
84 [email protected]
85 [email protected] "f"
86 [email protected] " "
87 [email protected]
88 [email protected] "{"
89 [email protected] "\n "
90 [email protected] "}"
91 [email protected] "\n"
92 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0008_mod_item.rs b/crates/syntax/test_data/parser/ok/0008_mod_item.rs
new file mode 100644
index 000000000..d22993bc1
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0008_mod_item.rs
@@ -0,0 +1,17 @@
1mod a;
2
3mod b {
4}
5
6mod c {
7 fn foo() {
8 }
9 struct S {}
10}
11
12mod d {
13 #![attr]
14 mod e;
15 mod f {
16 }
17} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0009_use_item.rast b/crates/syntax/test_data/parser/ok/0009_use_item.rast
new file mode 100644
index 000000000..6be1cf9fc
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0009_use_item.rast
@@ -0,0 +1,21 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "foo"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "::"
19 [email protected]
20 [email protected] "bar"
21 [email protected] ";"
diff --git a/crates/syntax/test_data/parser/ok/0009_use_item.rs b/crates/syntax/test_data/parser/ok/0009_use_item.rs
new file mode 100644
index 000000000..05a6aff83
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0009_use_item.rs
@@ -0,0 +1,2 @@
1use foo;
2use ::bar; \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0010_use_path_segments.rast b/crates/syntax/test_data/parser/ok/0010_use_path_segments.rast
new file mode 100644
index 000000000..4d49e7933
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0010_use_path_segments.rast
@@ -0,0 +1,42 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected]
10 [email protected] "::"
11 [email protected]
12 [email protected] "foo"
13 [email protected] "::"
14 [email protected]
15 [email protected]
16 [email protected] "bar"
17 [email protected] "::"
18 [email protected]
19 [email protected]
20 [email protected] "baz"
21 [email protected] ";"
22 [email protected] "\n"
23 [email protected]
24 [email protected] "use"
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "foo"
33 [email protected] "::"
34 [email protected]
35 [email protected]
36 [email protected] "bar"
37 [email protected] "::"
38 [email protected]
39 [email protected]
40 [email protected] "baz"
41 [email protected] ";"
42 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0010_use_path_segments.rs b/crates/syntax/test_data/parser/ok/0010_use_path_segments.rs
new file mode 100644
index 000000000..1e71b7a6c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0010_use_path_segments.rs
@@ -0,0 +1,2 @@
1use ::foo::bar::baz;
2use foo::bar::baz;
diff --git a/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
new file mode 100644
index 000000000..478fdba75
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
@@ -0,0 +1,57 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "#"
5 [email protected] "["
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "cfg"
10 [email protected]
11 [email protected] "("
12 [email protected] "test"
13 [email protected] ")"
14 [email protected] "]"
15 [email protected] "\n"
16 [email protected]
17 [email protected] "#"
18 [email protected] "["
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "ignore"
23 [email protected] "]"
24 [email protected] "\n"
25 [email protected] "fn"
26 [email protected] " "
27 [email protected]
28 [email protected] "foo"
29 [email protected]
30 [email protected] "("
31 [email protected] ")"
32 [email protected] " "
33 [email protected]
34 [email protected] "{"
35 [email protected] "}"
36 [email protected] "\n\n"
37 [email protected]
38 [email protected]
39 [email protected] "#"
40 [email protected] "["
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected] "path"
45 [email protected] " "
46 [email protected] "="
47 [email protected] " "
48 [email protected]
49 [email protected] "\"a.rs\""
50 [email protected] "]"
51 [email protected] "\n"
52 [email protected] "mod"
53 [email protected] " "
54 [email protected]
55 [email protected] "b"
56 [email protected] ";"
57 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0011_outer_attribute.rs b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rs
new file mode 100644
index 000000000..3d2e01d5c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rs
@@ -0,0 +1,6 @@
1#[cfg(test)]
2#[ignore]
3fn foo() {}
4
5#[path = "a.rs"]
6mod b;
diff --git a/crates/syntax/test_data/parser/ok/0012_visibility.rast b/crates/syntax/test_data/parser/ok/0012_visibility.rast
new file mode 100644
index 000000000..83a93b5a9
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0012_visibility.rast
@@ -0,0 +1,102 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "}"
14 [email protected] "\n"
15 [email protected]
16 [email protected]
17 [email protected] "pub"
18 [email protected] " "
19 [email protected] "fn"
20 [email protected] " "
21 [email protected]
22 [email protected] "b"
23 [email protected]
24 [email protected] "("
25 [email protected] ")"
26 [email protected] " "
27 [email protected]
28 [email protected] "{"
29 [email protected] "}"
30 [email protected] "\n"
31 [email protected]
32 [email protected]
33 [email protected] "pub"
34 [email protected] "("
35 [email protected] "crate"
36 [email protected] ")"
37 [email protected] " "
38 [email protected] "fn"
39 [email protected] " "
40 [email protected]
41 [email protected] "c"
42 [email protected]
43 [email protected] "("
44 [email protected] ")"
45 [email protected] " "
46 [email protected]
47 [email protected] "{"
48 [email protected] "}"
49 [email protected] "\n"
50 [email protected]
51 [email protected]
52 [email protected] "pub"
53 [email protected] "("
54 [email protected] "super"
55 [email protected] ")"
56 [email protected] " "
57 [email protected] "fn"
58 [email protected] " "
59 [email protected]
60 [email protected] "d"
61 [email protected]
62 [email protected] "("
63 [email protected] ")"
64 [email protected] " "
65 [email protected]
66 [email protected] "{"
67 [email protected] "}"
68 [email protected] "\n"
69 [email protected]
70 [email protected]
71 [email protected] "pub"
72 [email protected] "("
73 [email protected] "in"
74 [email protected] " "
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "foo"
81 [email protected] "::"
82 [email protected]
83 [email protected]
84 [email protected] "bar"
85 [email protected] "::"
86 [email protected]
87 [email protected]
88 [email protected] "baz"
89 [email protected] ")"
90 [email protected] " "
91 [email protected] "fn"
92 [email protected] " "
93 [email protected]
94 [email protected] "e"
95 [email protected]
96 [email protected] "("
97 [email protected] ")"
98 [email protected] " "
99 [email protected]
100 [email protected] "{"
101 [email protected] "}"
102 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0012_visibility.rs b/crates/syntax/test_data/parser/ok/0012_visibility.rs
new file mode 100644
index 000000000..75b1db121
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0012_visibility.rs
@@ -0,0 +1,5 @@
1fn a() {}
2pub fn b() {}
3pub(crate) fn c() {}
4pub(super) fn d() {}
5pub(in foo::bar::baz) fn e() {}
diff --git a/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rast b/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rast
new file mode 100644
index 000000000..66ab13660
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rast
@@ -0,0 +1,33 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "self"
10 [email protected] "::"
11 [email protected]
12 [email protected]
13 [email protected] "foo"
14 [email protected] ";"
15 [email protected] "\n"
16 [email protected]
17 [email protected] "use"
18 [email protected] " "
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "super"
25 [email protected] "::"
26 [email protected]
27 [email protected] "super"
28 [email protected] "::"
29 [email protected]
30 [email protected]
31 [email protected] "bar"
32 [email protected] ";"
33 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rs b/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rs
new file mode 100644
index 000000000..9d9eb9917
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0013_use_path_self_super.rs
@@ -0,0 +1,2 @@
1use self::foo;
2use super::super::bar;
diff --git a/crates/syntax/test_data/parser/ok/0014_use_tree.rast b/crates/syntax/test_data/parser/ok/0014_use_tree.rast
new file mode 100644
index 000000000..4389d2d4b
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0014_use_tree.rast
@@ -0,0 +1,95 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected] "*"
7 [email protected] ";"
8 [email protected] "\n"
9 [email protected]
10 [email protected] "use"
11 [email protected] " "
12 [email protected]
13 [email protected] "::"
14 [email protected] "*"
15 [email protected] ";"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "use"
19 [email protected] " "
20 [email protected]
21 [email protected] "::"
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] ";"
26 [email protected] "\n"
27 [email protected]
28 [email protected] "use"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected] "{"
33 [email protected] "}"
34 [email protected] ";"
35 [email protected] "\n"
36 [email protected]
37 [email protected] "use"
38 [email protected] " "
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "foo"
44 [email protected] "::"
45 [email protected] "*"
46 [email protected] ";"
47 [email protected] "\n"
48 [email protected]
49 [email protected] "use"
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "foo"
56 [email protected] "::"
57 [email protected]
58 [email protected] "{"
59 [email protected] "}"
60 [email protected] ";"
61 [email protected] "\n"
62 [email protected]
63 [email protected] "use"
64 [email protected] " "
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected] "::"
69 [email protected]
70 [email protected] "foo"
71 [email protected] "::"
72 [email protected]
73 [email protected] "{"
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected] "a"
79 [email protected] ","
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected] "b"
86 [email protected] ","
87 [email protected] " "
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected] "c"
93 [email protected] "}"
94 [email protected] ";"
95 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0014_use_tree.rs b/crates/syntax/test_data/parser/ok/0014_use_tree.rs
new file mode 100644
index 000000000..5e4aa3a33
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0014_use_tree.rs
@@ -0,0 +1,7 @@
1use *;
2use ::*;
3use ::{};
4use {};
5use foo::*;
6use foo::{};
7use ::foo::{a, b, c};
diff --git a/crates/syntax/test_data/parser/ok/0015_use_tree.rast b/crates/syntax/test_data/parser/ok/0015_use_tree.rast
new file mode 100644
index 000000000..d7e93f7eb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0015_use_tree.rast
@@ -0,0 +1,65 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "foo"
10 [email protected] " "
11 [email protected]
12 [email protected] "as"
13 [email protected] " "
14 [email protected]
15 [email protected] "bar"
16 [email protected] ";"
17 [email protected] "\n"
18 [email protected]
19 [email protected] "use"
20 [email protected] " "
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "foo"
26 [email protected] "::"
27 [email protected]
28 [email protected] "{"
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "a"
34 [email protected] " "
35 [email protected]
36 [email protected] "as"
37 [email protected] " "
38 [email protected]
39 [email protected] "b"
40 [email protected] ","
41 [email protected] " "
42 [email protected]
43 [email protected] "*"
44 [email protected] ","
45 [email protected] " "
46 [email protected]
47 [email protected] "::"
48 [email protected] "*"
49 [email protected] ","
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected] "::"
55 [email protected]
56 [email protected] "foo"
57 [email protected] " "
58 [email protected]
59 [email protected] "as"
60 [email protected] " "
61 [email protected]
62 [email protected] "x"
63 [email protected] "}"
64 [email protected] ";"
65 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0015_use_tree.rs b/crates/syntax/test_data/parser/ok/0015_use_tree.rs
new file mode 100644
index 000000000..46a0783a2
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0015_use_tree.rs
@@ -0,0 +1,2 @@
1use foo as bar;
2use foo::{a as b, *, ::*, ::foo as x};
diff --git a/crates/syntax/test_data/parser/ok/0016_struct_flavors.rast b/crates/syntax/test_data/parser/ok/0016_struct_flavors.rast
new file mode 100644
index 000000000..b15f41dd7
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0016_struct_flavors.rast
@@ -0,0 +1,93 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected] ";"
8 [email protected] "\n"
9 [email protected]
10 [email protected] "struct"
11 [email protected] " "
12 [email protected]
13 [email protected] "B"
14 [email protected] " "
15 [email protected]
16 [email protected] "{"
17 [email protected] "}"
18 [email protected] "\n"
19 [email protected]
20 [email protected] "struct"
21 [email protected] " "
22 [email protected]
23 [email protected] "C"
24 [email protected]
25 [email protected] "("
26 [email protected] ")"
27 [email protected] ";"
28 [email protected] "\n\n"
29 [email protected]
30 [email protected] "struct"
31 [email protected] " "
32 [email protected]
33 [email protected] "D"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected] "a"
41 [email protected] ":"
42 [email protected] " "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected] "u32"
48 [email protected] ","
49 [email protected] "\n "
50 [email protected]
51 [email protected]
52 [email protected] "pub"
53 [email protected] " "
54 [email protected]
55 [email protected] "b"
56 [email protected] ":"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected] "u32"
63 [email protected] "\n"
64 [email protected] "}"
65 [email protected] "\n\n"
66 [email protected]
67 [email protected] "struct"
68 [email protected] " "
69 [email protected]
70 [email protected] "E"
71 [email protected]
72 [email protected] "("
73 [email protected]
74 [email protected]
75 [email protected] "pub"
76 [email protected] " "
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected]
81 [email protected] "x"
82 [email protected] ","
83 [email protected] " "
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected] "y"
90 [email protected] ","
91 [email protected] ")"
92 [email protected] ";"
93 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0016_struct_flavors.rs b/crates/syntax/test_data/parser/ok/0016_struct_flavors.rs
new file mode 100644
index 000000000..69638350c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0016_struct_flavors.rs
@@ -0,0 +1,10 @@
1struct A;
2struct B {}
3struct C();
4
5struct D {
6 a: u32,
7 pub b: u32
8}
9
10struct E(pub x, y,);
diff --git a/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
new file mode 100644
index 000000000..a3e091ad3
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "#"
5 [email protected] "["
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "foo"
10 [email protected]
11 [email protected] "("
12 [email protected] "a"
13 [email protected] ","
14 [email protected] ")"
15 [email protected] "]"
16 [email protected] "\n"
17 [email protected] "fn"
18 [email protected] " "
19 [email protected]
20 [email protected] "foo"
21 [email protected]
22 [email protected] "("
23 [email protected] ")"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rs b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rs
new file mode 100644
index 000000000..fe0a7bb97
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rs
@@ -0,0 +1,2 @@
1#[foo(a,)]
2fn foo() {}
diff --git a/crates/syntax/test_data/parser/ok/0018_struct_type_params.rast b/crates/syntax/test_data/parser/ok/0018_struct_type_params.rast
new file mode 100644
index 000000000..630aa0708
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0018_struct_type_params.rast
@@ -0,0 +1,257 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S1"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected] ";"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "struct"
17 [email protected] " "
18 [email protected]
19 [email protected] "S2"
20 [email protected]
21 [email protected] "<"
22 [email protected]
23 [email protected]
24 [email protected] "T"
25 [email protected] ">"
26 [email protected]
27 [email protected] "("
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "u32"
34 [email protected] ")"
35 [email protected] ";"
36 [email protected] "\n"
37 [email protected]
38 [email protected] "struct"
39 [email protected] " "
40 [email protected]
41 [email protected] "S3"
42 [email protected]
43 [email protected] "<"
44 [email protected]
45 [email protected]
46 [email protected] "T"
47 [email protected] ">"
48 [email protected] " "
49 [email protected]
50 [email protected] "{"
51 [email protected] " "
52 [email protected]
53 [email protected]
54 [email protected] "u"
55 [email protected] ":"
56 [email protected] " "
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "u32"
62 [email protected] " "
63 [email protected] "}"
64 [email protected] "\n\n"
65 [email protected]
66 [email protected] "struct"
67 [email protected] " "
68 [email protected]
69 [email protected] "S4"
70 [email protected]
71 [email protected] "<"
72 [email protected] ">"
73 [email protected] ";"
74 [email protected] "\n"
75 [email protected]
76 [email protected] "struct"
77 [email protected] " "
78 [email protected]
79 [email protected] "S5"
80 [email protected]
81 [email protected] "<"
82 [email protected]
83 [email protected] "\'a"
84 [email protected] ">"
85 [email protected] ";"
86 [email protected] "\n"
87 [email protected]
88 [email protected] "struct"
89 [email protected] " "
90 [email protected]
91 [email protected] "S6"
92 [email protected]
93 [email protected] "<"
94 [email protected]
95 [email protected] "\'a"
96 [email protected] ":"
97 [email protected] ">"
98 [email protected] ";"
99 [email protected] "\n"
100 [email protected]
101 [email protected] "struct"
102 [email protected] " "
103 [email protected]
104 [email protected] "S7"
105 [email protected]
106 [email protected] "<"
107 [email protected]
108 [email protected] "\'a"
109 [email protected] ":"
110 [email protected] " "
111 [email protected] "\'b"
112 [email protected] ">"
113 [email protected] ";"
114 [email protected] "\n"
115 [email protected]
116 [email protected] "struct"
117 [email protected] " "
118 [email protected]
119 [email protected] "S8"
120 [email protected]
121 [email protected] "<"
122 [email protected]
123 [email protected] "\'a"
124 [email protected] ":"
125 [email protected] " "
126 [email protected] "\'b"
127 [email protected] " "
128 [email protected] "+"
129 [email protected] " "
130 [email protected] ">"
131 [email protected] ";"
132 [email protected] "\n"
133 [email protected]
134 [email protected] "struct"
135 [email protected] " "
136 [email protected]
137 [email protected] "S9"
138 [email protected]
139 [email protected] "<"
140 [email protected]
141 [email protected] "\'a"
142 [email protected] ":"
143 [email protected] " "
144 [email protected] "\'b"
145 [email protected] " "
146 [email protected] "+"
147 [email protected] " "
148 [email protected] "\'c"
149 [email protected] ">"
150 [email protected] ";"
151 [email protected] "\n"
152 [email protected]
153 [email protected] "struct"
154 [email protected] " "
155 [email protected]
156 [email protected] "S10"
157 [email protected]
158 [email protected] "<"
159 [email protected]
160 [email protected] "\'a"
161 [email protected] ","
162 [email protected] ">"
163 [email protected] ";"
164 [email protected] "\n"
165 [email protected]
166 [email protected] "struct"
167 [email protected] " "
168 [email protected]
169 [email protected] "S11"
170 [email protected]
171 [email protected] "<"
172 [email protected]
173 [email protected] "\'a"
174 [email protected] ","
175 [email protected] " "
176 [email protected]
177 [email protected] "\'b"
178 [email protected] ">"
179 [email protected] ";"
180 [email protected] "\n"
181 [email protected]
182 [email protected] "struct"
183 [email protected] " "
184 [email protected]
185 [email protected] "S12"
186 [email protected]
187 [email protected] "<"
188 [email protected]
189 [email protected] "\'a"
190 [email protected] ":"
191 [email protected] " "
192 [email protected] "\'b"
193 [email protected] "+"
194 [email protected] ","
195 [email protected] " "
196 [email protected]
197 [email protected] "\'b"
198 [email protected] ":"
199 [email protected] " "
200 [email protected] "\'c"
201 [email protected] ","
202 [email protected] ">"
203 [email protected] ";"
204 [email protected] "\n\n"
205 [email protected]
206 [email protected] "struct"
207 [email protected] " "
208 [email protected]
209 [email protected] "S13"
210 [email protected]
211 [email protected] "<"
212 [email protected]
213 [email protected]
214 [email protected] "T"
215 [email protected] ">"
216 [email protected] ";"
217 [email protected] "\n"
218 [email protected]
219 [email protected] "struct"
220 [email protected] " "
221 [email protected]
222 [email protected] "S14"
223 [email protected]
224 [email protected] "<"
225 [email protected]
226 [email protected]
227 [email protected] "T"
228 [email protected] ","
229 [email protected] " "
230 [email protected]
231 [email protected]
232 [email protected] "U"
233 [email protected] ">"
234 [email protected] ";"
235 [email protected] "\n"
236 [email protected]
237 [email protected] "struct"
238 [email protected] " "
239 [email protected]
240 [email protected] "S15"
241 [email protected]
242 [email protected] "<"
243 [email protected]
244 [email protected] "\'a"
245 [email protected] ","
246 [email protected] " "
247 [email protected]
248 [email protected]
249 [email protected] "T"
250 [email protected] ","
251 [email protected] " "
252 [email protected]
253 [email protected]
254 [email protected] "U"
255 [email protected] ">"
256 [email protected] ";"
257 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0018_struct_type_params.rs b/crates/syntax/test_data/parser/ok/0018_struct_type_params.rs
new file mode 100644
index 000000000..88c544923
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0018_struct_type_params.rs
@@ -0,0 +1,17 @@
1struct S1<T>;
2struct S2<T>(u32);
3struct S3<T> { u: u32 }
4
5struct S4<>;
6struct S5<'a>;
7struct S6<'a:>;
8struct S7<'a: 'b>;
9struct S8<'a: 'b + >;
10struct S9<'a: 'b + 'c>;
11struct S10<'a,>;
12struct S11<'a, 'b>;
13struct S12<'a: 'b+, 'b: 'c,>;
14
15struct S13<T>;
16struct S14<T, U>;
17struct S15<'a, T, U>;
diff --git a/crates/syntax/test_data/parser/ok/0019_enums.rast b/crates/syntax/test_data/parser/ok/0019_enums.rast
new file mode 100644
index 000000000..c3df00814
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0019_enums.rast
@@ -0,0 +1,155 @@
1[email protected]
2 [email protected]
3 [email protected] "enum"
4 [email protected] " "
5 [email protected]
6 [email protected] "E1"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n"
11 [email protected] "}"
12 [email protected] "\n\n"
13 [email protected]
14 [email protected] "enum"
15 [email protected] " "
16 [email protected]
17 [email protected] "E2"
18 [email protected]
19 [email protected] "<"
20 [email protected]
21 [email protected]
22 [email protected] "T"
23 [email protected] ">"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "\n"
28 [email protected] "}"
29 [email protected] "\n\n"
30 [email protected]
31 [email protected] "enum"
32 [email protected] " "
33 [email protected]
34 [email protected] "E3"
35 [email protected] " "
36 [email protected]
37 [email protected] "{"
38 [email protected] "\n "
39 [email protected]
40 [email protected]
41 [email protected] "X"
42 [email protected] "\n"
43 [email protected] "}"
44 [email protected] "\n\n"
45 [email protected]
46 [email protected] "enum"
47 [email protected] " "
48 [email protected]
49 [email protected] "E4"
50 [email protected] " "
51 [email protected]
52 [email protected] "{"
53 [email protected] "\n "
54 [email protected]
55 [email protected]
56 [email protected] "X"
57 [email protected] ","
58 [email protected] "\n"
59 [email protected] "}"
60 [email protected] "\n\n"
61 [email protected]
62 [email protected] "enum"
63 [email protected] " "
64 [email protected]
65 [email protected] "E5"
66 [email protected] " "
67 [email protected]
68 [email protected] "{"
69 [email protected] "\n "
70 [email protected]
71 [email protected]
72 [email protected] "A"
73 [email protected] ","
74 [email protected] "\n "
75 [email protected]
76 [email protected]
77 [email protected] "B"
78 [email protected] " "
79 [email protected] "="
80 [email protected] " "
81 [email protected]
82 [email protected] "92"
83 [email protected] ","
84 [email protected] "\n "
85 [email protected]
86 [email protected]
87 [email protected] "C"
88 [email protected] " "
89 [email protected]
90 [email protected] "{"
91 [email protected] "\n "
92 [email protected]
93 [email protected]
94 [email protected] "a"
95 [email protected] ":"
96 [email protected] " "
97 [email protected]
98 [email protected]
99 [email protected]
100 [email protected]
101 [email protected] "u32"
102 [email protected] ","
103 [email protected] "\n "
104 [email protected]
105 [email protected]
106 [email protected] "pub"
107 [email protected] " "
108 [email protected]
109 [email protected] "b"
110 [email protected] ":"
111 [email protected] " "
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "f64"
117 [email protected] ","
118 [email protected] "\n "
119 [email protected] "}"
120 [email protected] ","
121 [email protected] "\n "
122 [email protected]
123 [email protected]
124 [email protected] "F"
125 [email protected] " "
126 [email protected]
127 [email protected] "{"
128 [email protected] "}"
129 [email protected] ","
130 [email protected] "\n "
131 [email protected]
132 [email protected]
133 [email protected] "D"
134 [email protected]
135 [email protected] "("
136 [email protected]
137 [email protected]
138 [email protected]
139 [email protected]
140 [email protected]
141 [email protected] "u32"
142 [email protected] ","
143 [email protected] ")"
144 [email protected] ","
145 [email protected] "\n "
146 [email protected]
147 [email protected]
148 [email protected] "E"
149 [email protected]
150 [email protected] "("
151 [email protected] ")"
152 [email protected] ","
153 [email protected] "\n"
154 [email protected] "}"
155 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0019_enums.rs b/crates/syntax/test_data/parser/ok/0019_enums.rs
new file mode 100644
index 000000000..7a1afa0e6
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0019_enums.rs
@@ -0,0 +1,25 @@
1enum E1 {
2}
3
4enum E2<T> {
5}
6
7enum E3 {
8 X
9}
10
11enum E4 {
12 X,
13}
14
15enum E5 {
16 A,
17 B = 92,
18 C {
19 a: u32,
20 pub b: f64,
21 },
22 F {},
23 D(u32,),
24 E(),
25}
diff --git a/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rast b/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rast
new file mode 100644
index 000000000..9bdc50e1e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rast
@@ -0,0 +1,268 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "A"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected] ";"
14 [email protected] "\n"
15 [email protected]
16 [email protected] "struct"
17 [email protected] " "
18 [email protected]
19 [email protected] "B"
20 [email protected]
21 [email protected] "<"
22 [email protected]
23 [email protected]
24 [email protected] "T"
25 [email protected] ":"
26 [email protected]
27 [email protected] ">"
28 [email protected] ";"
29 [email protected] "\n"
30 [email protected]
31 [email protected] "struct"
32 [email protected] " "
33 [email protected]
34 [email protected] "C"
35 [email protected]
36 [email protected] "<"
37 [email protected]
38 [email protected]
39 [email protected] "T"
40 [email protected] ":"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected] "\'a"
45 [email protected] ">"
46 [email protected] ";"
47 [email protected] "\n"
48 [email protected]
49 [email protected] "struct"
50 [email protected] " "
51 [email protected]
52 [email protected] "D"
53 [email protected]
54 [email protected] "<"
55 [email protected]
56 [email protected]
57 [email protected] "T"
58 [email protected] ":"
59 [email protected] " "
60 [email protected]
61 [email protected]
62 [email protected] "\'a"
63 [email protected] " "
64 [email protected] "+"
65 [email protected] " "
66 [email protected] ">"
67 [email protected] ";"
68 [email protected] "\n"
69 [email protected]
70 [email protected] "struct"
71 [email protected] " "
72 [email protected]
73 [email protected] "E"
74 [email protected]
75 [email protected] "<"
76 [email protected]
77 [email protected]
78 [email protected] "T"
79 [email protected] ":"
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected] "\'a"
84 [email protected] " "
85 [email protected] "+"
86 [email protected] " "
87 [email protected]
88 [email protected] "\'d"
89 [email protected] " "
90 [email protected] ">"
91 [email protected] ";"
92 [email protected] "\n"
93 [email protected]
94 [email protected] "struct"
95 [email protected] " "
96 [email protected]
97 [email protected] "F"
98 [email protected]
99 [email protected] "<"
100 [email protected]
101 [email protected]
102 [email protected] "T"
103 [email protected] ":"
104 [email protected] " "
105 [email protected]
106 [email protected]
107 [email protected] "\'a"
108 [email protected] " "
109 [email protected] "+"
110 [email protected] " "
111 [email protected]
112 [email protected] "\'d"
113 [email protected] " "
114 [email protected] "+"
115 [email protected] " "
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected] "Clone"
122 [email protected] ">"
123 [email protected] ";"
124 [email protected] "\n"
125 [email protected]
126 [email protected] "struct"
127 [email protected] " "
128 [email protected]
129 [email protected] "G"
130 [email protected]
131 [email protected] "<"
132 [email protected]
133 [email protected]
134 [email protected] "T"
135 [email protected] ":"
136 [email protected] " "
137 [email protected]
138 [email protected]
139 [email protected]
140 [email protected]
141 [email protected]
142 [email protected]
143 [email protected] "Clone"
144 [email protected] " "
145 [email protected] "+"
146 [email protected] " "
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected]
152 [email protected] "Copy"
153 [email protected] ">"
154 [email protected] ";"
155 [email protected] "\n"
156 [email protected]
157 [email protected] "struct"
158 [email protected] " "
159 [email protected]
160 [email protected] "H"
161 [email protected]
162 [email protected] "<"
163 [email protected]
164 [email protected]
165 [email protected] "T"
166 [email protected] ":"
167 [email protected] " "
168 [email protected]
169 [email protected]
170 [email protected]
171 [email protected]
172 [email protected]
173 [email protected] "::"
174 [email protected]
175 [email protected] "Foo"
176 [email protected] " "
177 [email protected] "+"
178 [email protected] " "
179 [email protected]
180 [email protected]
181 [email protected]
182 [email protected]
183 [email protected]
184 [email protected] "self"
185 [email protected] "::"
186 [email protected]
187 [email protected]
188 [email protected] "Bar"
189 [email protected] " "
190 [email protected] "+"
191 [email protected] " "
192 [email protected]
193 [email protected] "\'a"
194 [email protected] ">"
195 [email protected] ";"
196 [email protected] "\n"
197 [email protected]
198 [email protected] "struct"
199 [email protected] " "
200 [email protected]
201 [email protected] "I"
202 [email protected]
203 [email protected] "<"
204 [email protected]
205 [email protected]
206 [email protected] "T"
207 [email protected] ":"
208 [email protected]
209 [email protected] ","
210 [email protected] " "
211 [email protected]
212 [email protected]
213 [email protected] "U"
214 [email protected] ":"
215 [email protected]
216 [email protected] ","
217 [email protected] ">"
218 [email protected] ";"
219 [email protected] "\n"
220 [email protected]
221 [email protected] "struct"
222 [email protected] " "
223 [email protected]
224 [email protected] "K"
225 [email protected]
226 [email protected] "<"
227 [email protected]
228 [email protected] "\'a"
229 [email protected] ":"
230 [email protected] " "
231 [email protected] "\'d"
232 [email protected] ","
233 [email protected] " "
234 [email protected]
235 [email protected] "\'d"
236 [email protected] ":"
237 [email protected] " "
238 [email protected] "\'a"
239 [email protected] " "
240 [email protected] "+"
241 [email protected] " "
242 [email protected] "\'b"
243 [email protected] ","
244 [email protected] " "
245 [email protected]
246 [email protected]
247 [email protected] "T"
248 [email protected] ":"
249 [email protected] " "
250 [email protected]
251 [email protected]
252 [email protected] "\'a"
253 [email protected] " "
254 [email protected] "+"
255 [email protected] " "
256 [email protected]
257 [email protected] "\'d"
258 [email protected] " "
259 [email protected] "+"
260 [email protected] " "
261 [email protected]
262 [email protected]
263 [email protected]
264 [email protected]
265 [email protected]
266 [email protected] "Clone"
267 [email protected] ">"
268 [email protected] ";"
diff --git a/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rs b/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rs
new file mode 100644
index 000000000..712898978
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0020_type_param_bounds.rs
@@ -0,0 +1,10 @@
1struct A<T>;
2struct B<T:>;
3struct C<T: 'a>;
4struct D<T: 'a + >;
5struct E<T: 'a + 'd >;
6struct F<T: 'a + 'd + Clone>;
7struct G<T: Clone + Copy>;
8struct H<T: ::Foo + self::Bar + 'a>;
9struct I<T:, U:,>;
10struct K<'a: 'd, 'd: 'a + 'b, T: 'a + 'd + Clone>; \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rast b/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rast
new file mode 100644
index 000000000..26abae3b2
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rast
@@ -0,0 +1,21 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected]
7 [email protected] "{"
8 [email protected] "\n"
9 [email protected] "}"
10 [email protected] "\n\n"
11 [email protected]
12 [email protected]
13 [email protected] "extern"
14 [email protected] " "
15 [email protected] "\"C\""
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] "\n"
20 [email protected] "}"
21 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rs b/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rs
new file mode 100644
index 000000000..f5fe0e6ef
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0022_empty_extern_block.rs
@@ -0,0 +1,5 @@
1extern {
2}
3
4extern "C" {
5}
diff --git a/crates/syntax/test_data/parser/ok/0023_static_items.rast b/crates/syntax/test_data/parser/ok/0023_static_items.rast
new file mode 100644
index 000000000..9374cf5e9
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0023_static_items.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "static"
4 [email protected] " "
5 [email protected]
6 [email protected] "FOO"
7 [email protected] ":"
8 [email protected] " "
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected]
13 [email protected] "u32"
14 [email protected] " "
15 [email protected] "="
16 [email protected] " "
17 [email protected]
18 [email protected] "1"
19 [email protected] ";"
20 [email protected] "\n"
21 [email protected]
22 [email protected] "static"
23 [email protected] " "
24 [email protected] "mut"
25 [email protected] " "
26 [email protected]
27 [email protected] "BAR"
28 [email protected] ":"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "i32"
35 [email protected] " "
36 [email protected] "="
37 [email protected] " "
38 [email protected]
39 [email protected] "92"
40 [email protected] ";"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0023_static_items.rs b/crates/syntax/test_data/parser/ok/0023_static_items.rs
new file mode 100644
index 000000000..5fb92ce33
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0023_static_items.rs
@@ -0,0 +1,2 @@
1static FOO: u32 = 1;
2static mut BAR: i32 = 92;
diff --git a/crates/syntax/test_data/parser/ok/0024_const_item.rast b/crates/syntax/test_data/parser/ok/0024_const_item.rast
new file mode 100644
index 000000000..dd1b9c9a0
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0024_const_item.rast
@@ -0,0 +1,59 @@
1[email protected]
2 [email protected]
3 [email protected] "const"
4 [email protected] " "
5 [email protected] "_"
6 [email protected] ":"
7 [email protected] " "
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "u32"
13 [email protected] " "
14 [email protected] "="
15 [email protected] " "
16 [email protected]
17 [email protected] "0"
18 [email protected] ";"
19 [email protected] "\n"
20 [email protected]
21 [email protected] "const"
22 [email protected] " "
23 [email protected]
24 [email protected] "FOO"
25 [email protected] ":"
26 [email protected] " "
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "u32"
32 [email protected] " "
33 [email protected] "="
34 [email protected] " "
35 [email protected]
36 [email protected] "92"
37 [email protected] ";"
38 [email protected] "\n"
39 [email protected]
40 [email protected] "const"
41 [email protected] " "
42 [email protected] "mut"
43 [email protected] " "
44 [email protected]
45 [email protected] "BAR"
46 [email protected] ":"
47 [email protected] " "
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected] "u32"
53 [email protected] " "
54 [email protected] "="
55 [email protected] " "
56 [email protected]
57 [email protected] "62"
58 [email protected] ";"
59 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0024_const_item.rs b/crates/syntax/test_data/parser/ok/0024_const_item.rs
new file mode 100644
index 000000000..a806a209d
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0024_const_item.rs
@@ -0,0 +1,3 @@
1const _: u32 = 0;
2const FOO: u32 = 92;
3const mut BAR: u32 = 62;
diff --git a/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rast b/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rast
new file mode 100644
index 000000000..bb6527b48
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rast
@@ -0,0 +1,31 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "extern"
17 [email protected] " "
18 [email protected] "fn"
19 [email protected] " "
20 [email protected]
21 [email protected] "f"
22 [email protected]
23 [email protected] "("
24 [email protected] ")"
25 [email protected] " "
26 [email protected]
27 [email protected] "{"
28 [email protected] "}"
29 [email protected] "\n"
30 [email protected] "}"
31 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rs b/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rs
new file mode 100644
index 000000000..289809809
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0025_extern_fn_in_block.rs
@@ -0,0 +1,3 @@
1fn main() {
2 extern fn f() {}
3}
diff --git a/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rast b/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rast
new file mode 100644
index 000000000..5bcf54deb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rast
@@ -0,0 +1,30 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "const"
16 [email protected] " "
17 [email protected] "fn"
18 [email protected] " "
19 [email protected]
20 [email protected] "f"
21 [email protected]
22 [email protected] "("
23 [email protected] ")"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] "\n"
29 [email protected] "}"
30 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rs b/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rs
new file mode 100644
index 000000000..7641a3d28
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0026_const_fn_in_block.rs
@@ -0,0 +1,3 @@
1fn main() {
2 const fn f() {}
3}
diff --git a/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast b/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast
new file mode 100644
index 000000000..a7cc12295
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "unsafe"
16 [email protected] " "
17 [email protected] "fn"
18 [email protected] " "
19 [email protected]
20 [email protected] "f"
21 [email protected]
22 [email protected] "("
23 [email protected] ")"
24 [email protected] " "
25 [email protected]
26 [email protected] "{"
27 [email protected] "}"
28 [email protected] "\n "
29 [email protected]
30 [email protected] "unsafe"
31 [email protected] " "
32 [email protected]
33 [email protected] "{"
34 [email protected] " "
35 [email protected]
36 [email protected] "92"
37 [email protected] " "
38 [email protected] "}"
39 [email protected] "\n"
40 [email protected] "}"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rs b/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rs
new file mode 100644
index 000000000..f3c5ff938
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rs
@@ -0,0 +1,4 @@
1fn main() {
2 unsafe fn f() {}
3 unsafe { 92 }
4}
diff --git a/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rast b/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rast
new file mode 100644
index 000000000..3271a4695
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rast
@@ -0,0 +1,185 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "binding_power"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "x"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "1"
27 [email protected] " "
28 [email protected] "+"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected] "2"
34 [email protected] " "
35 [email protected] "*"
36 [email protected] " "
37 [email protected]
38 [email protected] "3"
39 [email protected] " "
40 [email protected] "%"
41 [email protected] " "
42 [email protected]
43 [email protected] "4"
44 [email protected] " "
45 [email protected] "-"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected] "5"
50 [email protected] " "
51 [email protected] "/"
52 [email protected] " "
53 [email protected]
54 [email protected] "6"
55 [email protected] ";"
56 [email protected] "\n "
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected] "1"
61 [email protected] " "
62 [email protected] "+"
63 [email protected] " "
64 [email protected]
65 [email protected]
66 [email protected] "2"
67 [email protected] " "
68 [email protected] "*"
69 [email protected] " "
70 [email protected]
71 [email protected] "3"
72 [email protected] ";"
73 [email protected] "\n "
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "1"
78 [email protected] " "
79 [email protected] "<<"
80 [email protected] " "
81 [email protected]
82 [email protected]
83 [email protected] "2"
84 [email protected] " "
85 [email protected] "+"
86 [email protected] " "
87 [email protected]
88 [email protected] "3"
89 [email protected] ";"
90 [email protected] "\n "
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected] "1"
95 [email protected] " "
96 [email protected] "&"
97 [email protected] " "
98 [email protected]
99 [email protected]
100 [email protected] "2"
101 [email protected] " "
102 [email protected] ">>"
103 [email protected] " "
104 [email protected]
105 [email protected] "3"
106 [email protected] ";"
107 [email protected] "\n "
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected] "1"
112 [email protected] " "
113 [email protected] "^"
114 [email protected] " "
115 [email protected]
116 [email protected]
117 [email protected] "2"
118 [email protected] " "
119 [email protected] "&"
120 [email protected] " "
121 [email protected]
122 [email protected] "3"
123 [email protected] ";"
124 [email protected] "\n "
125 [email protected]
126 [email protected]
127 [email protected]
128 [email protected] "1"
129 [email protected] " "
130 [email protected] "|"
131 [email protected] " "
132 [email protected]
133 [email protected]
134 [email protected] "2"
135 [email protected] " "
136 [email protected] "^"
137 [email protected] " "
138 [email protected]
139 [email protected] "3"
140 [email protected] ";"
141 [email protected] "\n "
142 [email protected]
143 [email protected]
144 [email protected]
145 [email protected] "1"
146 [email protected] " "
147 [email protected] "=="
148 [email protected] " "
149 [email protected]
150 [email protected]
151 [email protected] "2"
152 [email protected] " "
153 [email protected] "|"
154 [email protected] " "
155 [email protected]
156 [email protected] "3"
157 [email protected] ";"
158 [email protected] "\n "
159 [email protected]
160 [email protected]
161 [email protected]
162 [email protected] "1"
163 [email protected] " "
164 [email protected] "&&"
165 [email protected] " "
166 [email protected]
167 [email protected]
168 [email protected] "2"
169 [email protected] " "
170 [email protected] "=="
171 [email protected] " "
172 [email protected]
173 [email protected] "3"
174 [email protected] ";"
175 [email protected] "\n "
176 [email protected] "//1 || 2 && 2;"
177 [email protected] "\n "
178 [email protected] "//1 .. 2 || 3;"
179 [email protected] "\n "
180 [email protected] "//1 = 2 .. 3;"
181 [email protected] "\n "
182 [email protected] "//---&*1 - --2 * 9;"
183 [email protected] "\n"
184 [email protected] "}"
185 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rs b/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rs
new file mode 100644
index 000000000..cc9598470
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0028_operator_binding_power.rs
@@ -0,0 +1,14 @@
1fn binding_power() {
2 let x = 1 + 2 * 3 % 4 - 5 / 6;
3 1 + 2 * 3;
4 1 << 2 + 3;
5 1 & 2 >> 3;
6 1 ^ 2 & 3;
7 1 | 2 ^ 3;
8 1 == 2 | 3;
9 1 && 2 == 3;
10 //1 || 2 && 2;
11 //1 .. 2 || 3;
12 //1 = 2 .. 3;
13 //---&*1 - --2 * 9;
14}
diff --git a/crates/syntax/test_data/parser/ok/0029_range_forms.rast b/crates/syntax/test_data/parser/ok/0029_range_forms.rast
new file mode 100644
index 000000000..a732f11c4
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0029_range_forms.rast
@@ -0,0 +1,151 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] ".."
17 [email protected]
18 [email protected]
19 [email protected] "1"
20 [email protected] " "
21 [email protected] "+"
22 [email protected] " "
23 [email protected]
24 [email protected] "1"
25 [email protected] ";"
26 [email protected] "\n "
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] ".."
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "z"
36 [email protected] " "
37 [email protected] "="
38 [email protected] " "
39 [email protected]
40 [email protected] "2"
41 [email protected] ";"
42 [email protected] "\n "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "x"
50 [email protected] " "
51 [email protected] "="
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected] "false"
56 [email protected] ".."
57 [email protected]
58 [email protected]
59 [email protected] "1"
60 [email protected] " "
61 [email protected] "=="
62 [email protected] " "
63 [email protected]
64 [email protected] "1"
65 [email protected] ";"
66 [email protected] "\n "
67 [email protected]
68 [email protected] "let"
69 [email protected] " "
70 [email protected]
71 [email protected]
72 [email protected] "x"
73 [email protected] " "
74 [email protected] "="
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected] "1"
79 [email protected] ".."
80 [email protected] ";"
81 [email protected] "\n \n "
82 [email protected]
83 [email protected]
84 [email protected] "..="
85 [email protected]
86 [email protected]
87 [email protected] "1"
88 [email protected] " "
89 [email protected] "+"
90 [email protected] " "
91 [email protected]
92 [email protected] "1"
93 [email protected] ";"
94 [email protected] "\n "
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected] "..="
99 [email protected]
100 [email protected]
101 [email protected]
102 [email protected]
103 [email protected] "z"
104 [email protected] " "
105 [email protected] "="
106 [email protected] " "
107 [email protected]
108 [email protected] "2"
109 [email protected] ";"
110 [email protected] "\n "
111 [email protected]
112 [email protected]
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected]
117 [email protected] "x"
118 [email protected] " "
119 [email protected] "="
120 [email protected] " "
121 [email protected]
122 [email protected]
123 [email protected] "false"
124 [email protected] "..="
125 [email protected]
126 [email protected]
127 [email protected] "1"
128 [email protected] " "
129 [email protected] "=="
130 [email protected] " "
131 [email protected]
132 [email protected] "1"
133 [email protected] ";"
134 [email protected] "\n "
135 [email protected]
136 [email protected] "let"
137 [email protected] " "
138 [email protected]
139 [email protected]
140 [email protected] "x"
141 [email protected] " "
142 [email protected] "="
143 [email protected] " "
144 [email protected]
145 [email protected]
146 [email protected] "1"
147 [email protected] ".."
148 [email protected] ";"
149 [email protected] "\n"
150 [email protected] "}"
151 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0029_range_forms.rs b/crates/syntax/test_data/parser/ok/0029_range_forms.rs
new file mode 100644
index 000000000..f9ff444d4
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0029_range_forms.rs
@@ -0,0 +1,11 @@
1fn foo() {
2 ..1 + 1;
3 ..z = 2;
4 x = false..1 == 1;
5 let x = 1..;
6
7 ..=1 + 1;
8 ..=z = 2;
9 x = false..=1 == 1;
10 let x = 1..;
11}
diff --git a/crates/syntax/test_data/parser/ok/0030_string_suffixes.rast b/crates/syntax/test_data/parser/ok/0030_string_suffixes.rast
new file mode 100644
index 000000000..80f7f5942
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0030_string_suffixes.rast
@@ -0,0 +1,63 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected] "_"
19 [email protected] " "
20 [email protected] "="
21 [email protected] " "
22 [email protected]
23 [email protected] "\'c\'u32"
24 [email protected] ";"
25 [email protected] "\n "
26 [email protected]
27 [email protected] "let"
28 [email protected] " "
29 [email protected]
30 [email protected] "_"
31 [email protected] " "
32 [email protected] "="
33 [email protected] " "
34 [email protected]
35 [email protected] "\"string\"invalid"
36 [email protected] ";"
37 [email protected] "\n "
38 [email protected]
39 [email protected] "let"
40 [email protected] " "
41 [email protected]
42 [email protected] "_"
43 [email protected] " "
44 [email protected] "="
45 [email protected] " "
46 [email protected]
47 [email protected] "b\'b\'_suff"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected]
51 [email protected] "let"
52 [email protected] " "
53 [email protected]
54 [email protected] "_"
55 [email protected] " "
56 [email protected] "="
57 [email protected] " "
58 [email protected]
59 [email protected] "b\"bs\"invalid"
60 [email protected] ";"
61 [email protected] "\n"
62 [email protected] "}"
63 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0030_string_suffixes.rs b/crates/syntax/test_data/parser/ok/0030_string_suffixes.rs
new file mode 100644
index 000000000..261aad1fb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0030_string_suffixes.rs
@@ -0,0 +1,6 @@
1fn main() {
2 let _ = 'c'u32;
3 let _ = "string"invalid;
4 let _ = b'b'_suff;
5 let _ = b"bs"invalid;
6}
diff --git a/crates/syntax/test_data/parser/ok/0030_traits.rast b/crates/syntax/test_data/parser/ok/0030_traits.rast
new file mode 100644
index 000000000..d07c6683a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0030_traits.rast
@@ -0,0 +1,61 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "Runnable"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected] "fn"
13 [email protected] " "
14 [email protected]
15 [email protected] "handler"
16 [email protected]
17 [email protected] "("
18 [email protected] ")"
19 [email protected] ";"
20 [email protected] "\n"
21 [email protected] "}"
22 [email protected] "\n\n"
23 [email protected]
24 [email protected] "trait"
25 [email protected] " "
26 [email protected]
27 [email protected] "TraitWithExpr"
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "\n "
32 [email protected]
33 [email protected] "fn"
34 [email protected] " "
35 [email protected]
36 [email protected] "fn_with_expr"
37 [email protected]
38 [email protected] "("
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "x"
43 [email protected] ":"
44 [email protected] " "
45 [email protected]
46 [email protected] "["
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "i32"
52 [email protected] ";"
53 [email protected] " "
54 [email protected]
55 [email protected] "1"
56 [email protected] "]"
57 [email protected] ")"
58 [email protected] ";"
59 [email protected] "\n"
60 [email protected] "}"
61 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0030_traits.rs b/crates/syntax/test_data/parser/ok/0030_traits.rs
new file mode 100644
index 000000000..ac30843ef
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0030_traits.rs
@@ -0,0 +1,7 @@
1trait Runnable {
2 fn handler();
3}
4
5trait TraitWithExpr {
6 fn fn_with_expr(x: [i32; 1]);
7}
diff --git a/crates/syntax/test_data/parser/ok/0031_extern.rast b/crates/syntax/test_data/parser/ok/0031_extern.rast
new file mode 100644
index 000000000..8150d445f
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0031_extern.rast
@@ -0,0 +1,973 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected]
7 [email protected] "{"
8 [email protected] "\n "
9 [email protected]
10 [email protected]
11 [email protected] "pub"
12 [email protected] " "
13 [email protected] "fn"
14 [email protected] " "
15 [email protected]
16 [email protected] "socket"
17 [email protected]
18 [email protected] "("
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "domain"
23 [email protected] ":"
24 [email protected] " "
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "::"
29 [email protected]
30 [email protected] "c_int"
31 [email protected] ","
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "ty"
37 [email protected] ":"
38 [email protected] " "
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "::"
43 [email protected]
44 [email protected] "c_int"
45 [email protected] ","
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "protocol"
51 [email protected] ":"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "::"
57 [email protected]
58 [email protected] "c_int"
59 [email protected] ")"
60 [email protected] " "
61 [email protected]
62 [email protected] "->"
63 [email protected] " "
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected] "::"
68 [email protected]
69 [email protected] "c_int"
70 [email protected] ";"
71 [email protected] "\n "
72 [email protected]
73 [email protected]
74 [email protected] "pub"
75 [email protected] " "
76 [email protected] "fn"
77 [email protected] " "
78 [email protected]
79 [email protected] "bind"
80 [email protected]
81 [email protected] "("
82 [email protected]
83 [email protected]
84 [email protected]
85 [email protected] "fd"
86 [email protected] ":"
87 [email protected] " "
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected] "::"
92 [email protected]
93 [email protected] "c_int"
94 [email protected] ","
95 [email protected] " "
96 [email protected]
97 [email protected]
98 [email protected]
99 [email protected] "addr"
100 [email protected] ":"
101 [email protected] " "
102 [email protected]
103 [email protected] "*"
104 [email protected] "const"
105 [email protected] " "
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected] "sockaddr"
111 [email protected] ","
112 [email protected] " "
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "len"
117 [email protected] ":"
118 [email protected] " "
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected]
123 [email protected] "socklen_t"
124 [email protected] ")"
125 [email protected] " "
126 [email protected]
127 [email protected] "->"
128 [email protected] " "
129 [email protected]
130 [email protected]
131 [email protected]
132 [email protected] "::"
133 [email protected]
134 [email protected] "c_int"
135 [email protected] ";"
136 [email protected] "\n "
137 [email protected]
138 [email protected]
139 [email protected] "pub"
140 [email protected] " "
141 [email protected] "fn"
142 [email protected] " "
143 [email protected]
144 [email protected] "connect"
145 [email protected]
146 [email protected] "("
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected] "socket"
151 [email protected] ":"
152 [email protected] " "
153 [email protected]
154 [email protected]
155 [email protected]
156 [email protected] "::"
157 [email protected]
158 [email protected] "c_int"
159 [email protected] ","
160 [email protected] " "
161 [email protected]
162 [email protected]
163 [email protected]
164 [email protected] "address"
165 [email protected] ":"
166 [email protected] " "
167 [email protected]
168 [email protected] "*"
169 [email protected] "const"
170 [email protected] " "
171 [email protected]
172 [email protected]
173 [email protected]
174 [email protected]
175 [email protected] "sockaddr"
176 [email protected] ","
177 [email protected] "\n "
178 [email protected]
179 [email protected]
180 [email protected]
181 [email protected] "len"
182 [email protected] ":"
183 [email protected] " "
184 [email protected]
185 [email protected]
186 [email protected]
187 [email protected]
188 [email protected] "socklen_t"
189 [email protected] ")"
190 [email protected] " "
191 [email protected]
192 [email protected] "->"
193 [email protected] " "
194 [email protected]
195 [email protected]
196 [email protected]
197 [email protected] "::"
198 [email protected]
199 [email protected] "c_int"
200 [email protected] ";"
201 [email protected] "\n "
202 [email protected]
203 [email protected]
204 [email protected] "pub"
205 [email protected] " "
206 [email protected] "fn"
207 [email protected] " "
208 [email protected]
209 [email protected] "listen"
210 [email protected]
211 [email protected] "("
212 [email protected]
213 [email protected]
214 [email protected]
215 [email protected] "socket"
216 [email protected] ":"
217 [email protected] " "
218 [email protected]
219 [email protected]
220 [email protected]
221 [email protected] "::"
222 [email protected]
223 [email protected] "c_int"
224 [email protected] ","
225 [email protected] " "
226 [email protected]
227 [email protected]
228 [email protected]
229 [email protected] "backlog"
230 [email protected] ":"
231 [email protected] " "
232 [email protected]
233 [email protected]
234 [email protected]
235 [email protected] "::"
236 [email protected]
237 [email protected] "c_int"
238 [email protected] ")"
239 [email protected] " "
240 [email protected]
241 [email protected] "->"
242 [email protected] " "
243 [email protected]
244 [email protected]
245 [email protected]
246 [email protected] "::"
247 [email protected]
248 [email protected] "c_int"
249 [email protected] ";"
250 [email protected] "\n "
251 [email protected]
252 [email protected]
253 [email protected] "pub"
254 [email protected] " "
255 [email protected] "fn"
256 [email protected] " "
257 [email protected]
258 [email protected] "getsockname"
259 [email protected]
260 [email protected] "("
261 [email protected]
262 [email protected]
263 [email protected]
264 [email protected] "socket"
265 [email protected] ":"
266 [email protected] " "
267 [email protected]
268 [email protected]
269 [email protected]
270 [email protected] "::"
271 [email protected]
272 [email protected] "c_int"
273 [email protected] ","
274 [email protected] " "
275 [email protected]
276 [email protected]
277 [email protected]
278 [email protected] "address"
279 [email protected] ":"
280 [email protected] " "
281 [email protected]
282 [email protected] "*"
283 [email protected] "mut"
284 [email protected] " "
285 [email protected]
286 [email protected]
287 [email protected]
288 [email protected]
289 [email protected] "sockaddr"
290 [email protected] ","
291 [email protected] "\n "
292 [email protected]
293 [email protected]
294 [email protected]
295 [email protected] "address_len"
296 [email protected] ":"
297 [email protected] " "
298 [email protected]
299 [email protected] "*"
300 [email protected] "mut"
301 [email protected] " "
302 [email protected]
303 [email protected]
304 [email protected]
305 [email protected]
306 [email protected] "socklen_t"
307 [email protected] ")"
308 [email protected] " "
309 [email protected]
310 [email protected] "->"
311 [email protected] " "
312 [email protected]
313 [email protected]
314 [email protected]
315 [email protected] "::"
316 [email protected]
317 [email protected] "c_int"
318 [email protected] ";"
319 [email protected] "\n "
320 [email protected]
321 [email protected]
322 [email protected] "pub"
323 [email protected] " "
324 [email protected] "fn"
325 [email protected] " "
326 [email protected]
327 [email protected] "getsockopt"
328 [email protected]
329 [email protected] "("
330 [email protected]
331 [email protected]
332 [email protected]
333 [email protected] "sockfd"
334 [email protected] ":"
335 [email protected] " "
336 [email protected]
337 [email protected]
338 [email protected]
339 [email protected] "::"
340 [email protected]
341 [email protected] "c_int"
342 [email protected] ","
343 [email protected] "\n "
344 [email protected]
345 [email protected]
346 [email protected]
347 [email protected] "level"
348 [email protected] ":"
349 [email protected] " "
350 [email protected]
351 [email protected]
352 [email protected]
353 [email protected] "::"
354 [email protected]
355 [email protected] "c_int"
356 [email protected] ","
357 [email protected] "\n "
358 [email protected]
359 [email protected]
360 [email protected]
361 [email protected] "optname"
362 [email protected] ":"
363 [email protected] " "
364 [email protected]
365 [email protected]
366 [email protected]
367 [email protected] "::"
368 [email protected]
369 [email protected] "c_int"
370 [email protected] ","
371 [email protected] "\n "
372 [email protected]
373 [email protected]
374 [email protected]
375 [email protected] "optval"
376 [email protected] ":"
377 [email protected] " "
378 [email protected]
379 [email protected] "*"
380 [email protected] "mut"
381 [email protected] " "
382 [email protected]
383 [email protected]
384 [email protected]
385 [email protected] "::"
386 [email protected]
387 [email protected] "c_void"
388 [email protected] ","
389 [email protected] "\n "
390 [email protected]
391 [email protected]
392 [email protected]
393 [email protected] "optlen"
394 [email protected] ":"
395 [email protected] " "
396 [email protected]
397 [email protected] "*"
398 [email protected] "mut"
399 [email protected] " "
400 [email protected]
401 [email protected]
402 [email protected]
403 [email protected] "::"
404 [email protected]
405 [email protected] "socklen_t"
406 [email protected] ")"
407 [email protected] " "
408 [email protected]
409 [email protected] "->"
410 [email protected] " "
411 [email protected]
412 [email protected]
413 [email protected]
414 [email protected] "::"
415 [email protected]
416 [email protected] "c_int"
417 [email protected] ";"
418 [email protected] "\n "
419 [email protected]
420 [email protected]
421 [email protected] "pub"
422 [email protected] " "
423 [email protected] "fn"
424 [email protected] " "
425 [email protected]
426 [email protected] "setsockopt"
427 [email protected]
428 [email protected] "("
429 [email protected]
430 [email protected]
431 [email protected]
432 [email protected] "socket"
433 [email protected] ":"
434 [email protected] " "
435 [email protected]
436 [email protected]
437 [email protected]
438 [email protected] "::"
439 [email protected]
440 [email protected] "c_int"
441 [email protected] ","
442 [email protected] " "
443 [email protected]
444 [email protected]
445 [email protected]
446 [email protected] "level"
447 [email protected] ":"
448 [email protected] " "
449 [email protected]
450 [email protected]
451 [email protected]
452 [email protected] "::"
453 [email protected]
454 [email protected] "c_int"
455 [email protected] ","
456 [email protected] " "
457 [email protected]
458 [email protected]
459 [email protected]
460 [email protected] "name"
461 [email protected] ":"
462 [email protected] " "
463 [email protected]
464 [email protected]
465 [email protected]
466 [email protected] "::"
467 [email protected]
468 [email protected] "c_int"
469 [email protected] ","
470 [email protected] "\n "
471 [email protected]
472 [email protected]
473 [email protected]
474 [email protected] "value"
475 [email protected] ":"
476 [email protected] " "
477 [email protected]
478 [email protected] "*"
479 [email protected] "const"
480 [email protected] " "
481 [email protected]
482 [email protected]
483 [email protected]
484 [email protected] "::"
485 [email protected]
486 [email protected] "c_void"
487 [email protected] ","
488 [email protected] "\n "
489 [email protected]
490 [email protected]
491 [email protected]
492 [email protected] "option_len"
493 [email protected] ":"
494 [email protected] " "
495 [email protected]
496 [email protected]
497 [email protected]
498 [email protected]
499 [email protected] "socklen_t"
500 [email protected] ")"
501 [email protected] " "
502 [email protected]
503 [email protected] "->"
504 [email protected] " "
505 [email protected]
506 [email protected]
507 [email protected]
508 [email protected] "::"
509 [email protected]
510 [email protected] "c_int"
511 [email protected] ";"
512 [email protected] "\n "
513 [email protected]
514 [email protected]
515 [email protected] "pub"
516 [email protected] " "
517 [email protected] "fn"
518 [email protected] " "
519 [email protected]
520 [email protected] "getpeername"
521 [email protected]
522 [email protected] "("
523 [email protected]
524 [email protected]
525 [email protected]
526 [email protected] "socket"
527 [email protected] ":"
528 [email protected] " "
529 [email protected]
530 [email protected]
531 [email protected]
532 [email protected] "::"
533 [email protected]
534 [email protected] "c_int"
535 [email protected] ","
536 [email protected] " "
537 [email protected]
538 [email protected]
539 [email protected]
540 [email protected] "address"
541 [email protected] ":"
542 [email protected] " "
543 [email protected]
544 [email protected] "*"
545 [email protected] "mut"
546 [email protected] " "
547 [email protected]
548 [email protected]
549 [email protected]
550 [email protected]
551 [email protected] "sockaddr"
552 [email protected] ","
553 [email protected] "\n "
554 [email protected]
555 [email protected]
556 [email protected]
557 [email protected] "address_len"
558 [email protected] ":"
559 [email protected] " "
560 [email protected]
561 [email protected] "*"
562 [email protected] "mut"
563 [email protected] " "
564 [email protected]
565 [email protected]
566 [email protected]
567 [email protected]
568 [email protected] "socklen_t"
569 [email protected] ")"
570 [email protected] " "
571 [email protected]
572 [email protected] "->"
573 [email protected] " "
574 [email protected]
575 [email protected]
576 [email protected]
577 [email protected] "::"
578 [email protected]
579 [email protected] "c_int"
580 [email protected] ";"
581 [email protected] "\n "
582 [email protected]
583 [email protected]
584 [email protected] "pub"
585 [email protected] " "
586 [email protected] "fn"
587 [email protected] " "
588 [email protected]
589 [email protected] "sendto"
590 [email protected]
591 [email protected] "("
592 [email protected]
593 [email protected]
594 [email protected]
595 [email protected] "socket"
596 [email protected] ":"
597 [email protected] " "
598 [email protected]
599 [email protected]
600 [email protected]
601 [email protected] "::"
602 [email protected]
603 [email protected] "c_int"
604 [email protected] ","
605 [email protected] " "
606 [email protected]
607 [email protected]
608 [email protected]
609 [email protected] "buf"
610 [email protected] ":"
611 [email protected] " "
612 [email protected]
613 [email protected] "*"
614 [email protected] "const"
615 [email protected] " "
616 [email protected]
617 [email protected]
618 [email protected]
619 [email protected] "::"
620 [email protected]
621 [email protected] "c_void"
622 [email protected] ","
623 [email protected] " "
624 [email protected]
625 [email protected]
626 [email protected]
627 [email protected] "len"
628 [email protected] ":"
629 [email protected] " "
630 [email protected]
631 [email protected]
632 [email protected]
633 [email protected] "::"
634 [email protected]
635 [email protected] "size_t"
636 [email protected] ","
637 [email protected] "\n "
638 [email protected]
639 [email protected]
640 [email protected]
641 [email protected] "flags"
642 [email protected] ":"
643 [email protected] " "
644 [email protected]
645 [email protected]
646 [email protected]
647 [email protected] "::"
648 [email protected]
649 [email protected] "c_int"
650 [email protected] ","
651 [email protected] " "
652 [email protected]
653 [email protected]
654 [email protected]
655 [email protected] "addr"
656 [email protected] ":"
657 [email protected] " "
658 [email protected]
659 [email protected] "*"
660 [email protected] "const"
661 [email protected] " "
662 [email protected]
663 [email protected]
664 [email protected]
665 [email protected]
666 [email protected] "sockaddr"
667 [email protected] ","
668 [email protected] "\n "
669 [email protected]
670 [email protected]
671 [email protected]
672 [email protected] "addrlen"
673 [email protected] ":"
674 [email protected] " "
675 [email protected]
676 [email protected]
677 [email protected]
678 [email protected]
679 [email protected] "socklen_t"
680 [email protected] ")"
681 [email protected] " "
682 [email protected]
683 [email protected] "->"
684 [email protected] " "
685 [email protected]
686 [email protected]
687 [email protected]
688 [email protected] "::"
689 [email protected]
690 [email protected] "ssize_t"
691 [email protected] ";"
692 [email protected] "\n "
693 [email protected]
694 [email protected]
695 [email protected] "pub"
696 [email protected] " "
697 [email protected] "fn"
698 [email protected] " "
699 [email protected]
700 [email protected] "send"
701 [email protected]
702 [email protected] "("
703 [email protected]
704 [email protected]
705 [email protected]
706 [email protected] "socket"
707 [email protected] ":"
708 [email protected] " "
709 [email protected]
710 [email protected]
711 [email protected]
712 [email protected] "::"
713 [email protected]
714 [email protected] "c_int"
715 [email protected] ","
716 [email protected] " "
717 [email protected]
718 [email protected]
719 [email protected]
720 [email protected] "buf"
721 [email protected] ":"
722 [email protected] " "
723 [email protected]
724 [email protected] "*"
725 [email protected] "const"
726 [email protected] " "
727 [email protected]
728 [email protected]
729 [email protected]
730 [email protected] "::"
731 [email protected]
732 [email protected] "c_void"
733 [email protected] ","
734 [email protected] " "
735 [email protected]
736 [email protected]
737 [email protected]
738 [email protected] "len"
739 [email protected] ":"
740 [email protected] " "
741 [email protected]
742 [email protected]
743 [email protected]
744 [email protected] "::"
745 [email protected]
746 [email protected] "size_t"
747 [email protected] ","
748 [email protected] "\n "
749 [email protected]
750 [email protected]
751 [email protected]
752 [email protected] "flags"
753 [email protected] ":"
754 [email protected] " "
755 [email protected]
756 [email protected]
757 [email protected]
758 [email protected] "::"
759 [email protected]
760 [email protected] "c_int"
761 [email protected] ")"
762 [email protected] " "
763 [email protected]
764 [email protected] "->"
765 [email protected] " "
766 [email protected]
767 [email protected]
768 [email protected]
769 [email protected] "::"
770 [email protected]
771 [email protected] "ssize_t"
772 [email protected] ";"
773 [email protected] "\n "
774 [email protected]
775 [email protected]
776 [email protected] "pub"
777 [email protected] " "
778 [email protected] "fn"
779 [email protected] " "
780 [email protected]
781 [email protected] "recvfrom"
782 [email protected]
783 [email protected] "("
784 [email protected]
785 [email protected]
786 [email protected]
787 [email protected] "socket"
788 [email protected] ":"
789 [email protected] " "
790 [email protected]
791 [email protected]
792 [email protected]
793 [email protected] "::"
794 [email protected]
795 [email protected] "c_int"
796 [email protected] ","
797 [email protected] " "
798 [email protected]
799 [email protected]
800 [email protected]
801 [email protected] "buf"
802 [email protected] ":"
803 [email protected] " "
804 [email protected]
805 [email protected] "*"
806 [email protected] "mut"
807 [email protected] " "
808 [email protected]
809 [email protected]
810 [email protected]
811 [email protected] "::"
812 [email protected]
813 [email protected] "c_void"
814 [email protected] ","
815 [email protected] " "
816 [email protected]
817 [email protected]
818 [email protected]
819 [email protected] "len"
820 [email protected] ":"
821 [email protected] " "
822 [email protected]
823 [email protected]
824 [email protected]
825 [email protected] "::"
826 [email protected]
827 [email protected] "size_t"
828 [email protected] ","
829 [email protected] "\n "
830 [email protected]
831 [email protected]
832 [email protected]
833 [email protected] "flags"
834 [email protected] ":"
835 [email protected] " "
836 [email protected]
837 [email protected]
838 [email protected]
839 [email protected] "::"
840 [email protected]
841 [email protected] "c_int"
842 [email protected] ","
843 [email protected] " "
844 [email protected]
845 [email protected]
846 [email protected]
847 [email protected] "addr"
848 [email protected] ":"
849 [email protected] " "
850 [email protected]
851 [email protected] "*"
852 [email protected] "mut"
853 [email protected] " "
854 [email protected]
855 [email protected]
856 [email protected]
857 [email protected] "::"
858 [email protected]
859 [email protected] "sockaddr"
860 [email protected] ","
861 [email protected] "\n "
862 [email protected]
863 [email protected]
864 [email protected]
865 [email protected] "addrlen"
866 [email protected] ":"
867 [email protected] " "
868 [email protected]
869 [email protected] "*"
870 [email protected] "mut"
871 [email protected] " "
872 [email protected]
873 [email protected]
874 [email protected]
875 [email protected] "::"
876 [email protected]
877 [email protected] "socklen_t"
878 [email protected] ")"
879 [email protected] " "
880 [email protected]
881 [email protected] "->"
882 [email protected] " "
883 [email protected]
884 [email protected]
885 [email protected]
886 [email protected] "::"
887 [email protected]
888 [email protected] "ssize_t"
889 [email protected] ";"
890 [email protected] "\n "
891 [email protected]
892 [email protected]
893 [email protected] "pub"
894 [email protected] " "
895 [email protected] "fn"
896 [email protected] " "
897 [email protected]
898 [email protected] "recv"
899 [email protected]
900 [email protected] "("
901 [email protected]
902 [email protected]
903 [email protected]
904 [email protected] "socket"
905 [email protected] ":"
906 [email protected] " "
907 [email protected]
908 [email protected]
909 [email protected]
910 [email protected] "::"
911 [email protected]
912 [email protected] "c_int"
913 [email protected] ","
914 [email protected] " "
915 [email protected]
916 [email protected]
917 [email protected]
918 [email protected] "buf"
919 [email protected] ":"
920 [email protected] " "
921 [email protected]
922 [email protected] "*"
923 [email protected] "mut"
924 [email protected] " "
925 [email protected]
926 [email protected]
927 [email protected]
928 [email protected] "::"
929 [email protected]
930 [email protected] "c_void"
931 [email protected] ","
932 [email protected] " "
933 [email protected]
934 [email protected]
935 [email protected]
936 [email protected] "len"
937 [email protected] ":"
938 [email protected] " "
939 [email protected]
940 [email protected]
941 [email protected]
942 [email protected] "::"
943 [email protected]
944 [email protected] "size_t"
945 [email protected] ","
946 [email protected] "\n "
947 [email protected]
948 [email protected]
949 [email protected]
950 [email protected] "flags"
951 [email protected] ":"
952 [email protected] " "
953 [email protected]
954 [email protected]
955 [email protected]
956 [email protected] "::"
957 [email protected]
958 [email protected] "c_int"
959 [email protected] ")"
960 [email protected] " "
961 [email protected]
962 [email protected] "->"
963 [email protected] " "
964 [email protected]
965 [email protected]
966 [email protected]
967 [email protected] "::"
968 [email protected]
969 [email protected] "ssize_t"
970 [email protected] ";"
971 [email protected] "\n"
972 [email protected] "}"
973 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0031_extern.rs b/crates/syntax/test_data/parser/ok/0031_extern.rs
new file mode 100644
index 000000000..b33ac273c
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0031_extern.rs
@@ -0,0 +1,29 @@
1extern {
2 pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int;
3 pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int;
4 pub fn connect(socket: ::c_int, address: *const sockaddr,
5 len: socklen_t) -> ::c_int;
6 pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int;
7 pub fn getsockname(socket: ::c_int, address: *mut sockaddr,
8 address_len: *mut socklen_t) -> ::c_int;
9 pub fn getsockopt(sockfd: ::c_int,
10 level: ::c_int,
11 optname: ::c_int,
12 optval: *mut ::c_void,
13 optlen: *mut ::socklen_t) -> ::c_int;
14 pub fn setsockopt(socket: ::c_int, level: ::c_int, name: ::c_int,
15 value: *const ::c_void,
16 option_len: socklen_t) -> ::c_int;
17 pub fn getpeername(socket: ::c_int, address: *mut sockaddr,
18 address_len: *mut socklen_t) -> ::c_int;
19 pub fn sendto(socket: ::c_int, buf: *const ::c_void, len: ::size_t,
20 flags: ::c_int, addr: *const sockaddr,
21 addrlen: socklen_t) -> ::ssize_t;
22 pub fn send(socket: ::c_int, buf: *const ::c_void, len: ::size_t,
23 flags: ::c_int) -> ::ssize_t;
24 pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
25 flags: ::c_int, addr: *mut ::sockaddr,
26 addrlen: *mut ::socklen_t) -> ::ssize_t;
27 pub fn recv(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
28 flags: ::c_int) -> ::ssize_t;
29}
diff --git a/crates/syntax/test_data/parser/ok/0032_where_for.rast b/crates/syntax/test_data/parser/ok/0032_where_for.rast
new file mode 100644
index 000000000..d59548f21
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0032_where_for.rast
@@ -0,0 +1,90 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "test_serialization"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "SER"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "where"
19 [email protected] "\n "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "SER"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "Serialize"
35 [email protected] " "
36 [email protected] "+"
37 [email protected] " "
38 [email protected]
39 [email protected]
40 [email protected] "for"
41 [email protected]
42 [email protected] "<"
43 [email protected]
44 [email protected] "\'de"
45 [email protected] ">"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "Deserialize"
52 [email protected]
53 [email protected] "<"
54 [email protected]
55 [email protected] "\'de"
56 [email protected] ">"
57 [email protected] " "
58 [email protected] "+"
59 [email protected] " "
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected] "PartialEq"
66 [email protected] " "
67 [email protected] "+"
68 [email protected] " "
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected] "std"
77 [email protected] "::"
78 [email protected]
79 [email protected]
80 [email protected] "fmt"
81 [email protected] "::"
82 [email protected]
83 [email protected]
84 [email protected] "Debug"
85 [email protected] ","
86 [email protected] "\n"
87 [email protected]
88 [email protected] "{"
89 [email protected] "}"
90 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0032_where_for.rs b/crates/syntax/test_data/parser/ok/0032_where_for.rs
new file mode 100644
index 000000000..588170fbe
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0032_where_for.rs
@@ -0,0 +1,4 @@
1fn test_serialization<SER>()
2where
3 SER: Serialize + for<'de> Deserialize<'de> + PartialEq + std::fmt::Debug,
4{}
diff --git a/crates/syntax/test_data/parser/ok/0033_label_break.rast b/crates/syntax/test_data/parser/ok/0033_label_break.rast
new file mode 100644
index 000000000..88800ca7a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0033_label_break.rast
@@ -0,0 +1,215 @@
1[email protected]
2 [email protected]
3 [email protected] "// format with label ..."
4 [email protected] "\n"
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "main"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "\n "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "\'empty_block"
20 [email protected] ":"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n\n "
26 [email protected]
27 [email protected]
28 [email protected]
29 [email protected] "\'block"
30 [email protected] ":"
31 [email protected] " "
32 [email protected]
33 [email protected] "{"
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "do_thing"
42 [email protected]
43 [email protected] "("
44 [email protected] ")"
45 [email protected] ";"
46 [email protected] "\n "
47 [email protected]
48 [email protected]
49 [email protected] "if"
50 [email protected] " "
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected] "condition_not_met"
58 [email protected]
59 [email protected] "("
60 [email protected] ")"
61 [email protected] " "
62 [email protected]
63 [email protected] "{"
64 [email protected] "\n "
65 [email protected]
66 [email protected]
67 [email protected] "break"
68 [email protected] " "
69 [email protected] "\'block"
70 [email protected] ";"
71 [email protected] "\n "
72 [email protected] "}"
73 [email protected] "\n "
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "do_next_thing"
81 [email protected]
82 [email protected] "("
83 [email protected] ")"
84 [email protected] ";"
85 [email protected] "\n "
86 [email protected]
87 [email protected]
88 [email protected] "if"
89 [email protected] " "
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected] "condition_not_met"
97 [email protected]
98 [email protected] "("
99 [email protected] ")"
100 [email protected] " "
101 [email protected]
102 [email protected] "{"
103 [email protected] "\n "
104 [email protected]
105 [email protected]
106 [email protected] "break"
107 [email protected] " "
108 [email protected] "\'block"
109 [email protected] ";"
110 [email protected] "\n "
111 [email protected] "}"
112 [email protected] "\n "
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected] "do_last_thing"
120 [email protected]
121 [email protected] "("
122 [email protected] ")"
123 [email protected] ";"
124 [email protected] "\n "
125 [email protected] "}"
126 [email protected] "\n\n "
127 [email protected]
128 [email protected] "let"
129 [email protected] " "
130 [email protected]
131 [email protected]
132 [email protected] "result"
133 [email protected] " "
134 [email protected] "="
135 [email protected] " "
136 [email protected]
137 [email protected]
138 [email protected] "\'block"
139 [email protected] ":"
140 [email protected] " "
141 [email protected]
142 [email protected] "{"
143 [email protected] "\n "
144 [email protected]
145 [email protected]
146 [email protected] "if"
147 [email protected] " "
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected]
152 [email protected]
153 [email protected]
154 [email protected] "foo"
155 [email protected]
156 [email protected] "("
157 [email protected] ")"
158 [email protected] " "
159 [email protected]
160 [email protected] "{"
161 [email protected] "\n "
162 [email protected] "// comment"
163 [email protected] "\n "
164 [email protected]
165 [email protected]
166 [email protected] "break"
167 [email protected] " "
168 [email protected] "\'block"
169 [email protected] " "
170 [email protected]
171 [email protected] "1"
172 [email protected] ";"
173 [email protected] "\n "
174 [email protected] "}"
175 [email protected] "\n "
176 [email protected]
177 [email protected]
178 [email protected] "if"
179 [email protected] " "
180 [email protected]
181 [email protected]
182 [email protected]
183 [email protected]
184 [email protected]
185 [email protected]
186 [email protected] "bar"
187 [email protected]
188 [email protected] "("
189 [email protected] ")"
190 [email protected] " "
191 [email protected]
192 [email protected] "{"
193 [email protected] "\n "
194 [email protected] "/* comment */"
195 [email protected] "\n "
196 [email protected]
197 [email protected]
198 [email protected] "break"
199 [email protected] " "
200 [email protected] "\'block"
201 [email protected] " "
202 [email protected]
203 [email protected] "2"
204 [email protected] ";"
205 [email protected] "\n "
206 [email protected] "}"
207 [email protected] "\n "
208 [email protected]
209 [email protected] "3"
210 [email protected] "\n "
211 [email protected] "}"
212 [email protected] ";"
213 [email protected] "\n"
214 [email protected] "}"
215 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0033_label_break.rs b/crates/syntax/test_data/parser/ok/0033_label_break.rs
new file mode 100644
index 000000000..728d78137
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0033_label_break.rs
@@ -0,0 +1,28 @@
1// format with label break value.
2fn main() {
3 'empty_block: {}
4
5 'block: {
6 do_thing();
7 if condition_not_met() {
8 break 'block;
9 }
10 do_next_thing();
11 if condition_not_met() {
12 break 'block;
13 }
14 do_last_thing();
15 }
16
17 let result = 'block: {
18 if foo() {
19 // comment
20 break 'block 1;
21 }
22 if bar() {
23 /* comment */
24 break 'block 2;
25 }
26 3
27 };
28}
diff --git a/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rast b/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rast
new file mode 100644
index 000000000..5ad8c570d
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rast
@@ -0,0 +1,41 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "make_query"
21 [email protected]
22 [email protected] "("
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "crate"
29 [email protected] "::"
30 [email protected]
31 [email protected]
32 [email protected] "module_map"
33 [email protected] "::"
34 [email protected]
35 [email protected]
36 [email protected] "module_tree"
37 [email protected] ")"
38 [email protected] ";"
39 [email protected] "\n"
40 [email protected] "}"
41 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rs b/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rs
new file mode 100644
index 000000000..f1ed30220
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0034_crate_path_in_call.rs
@@ -0,0 +1,3 @@
1fn main() {
2 make_query(crate::module_map::module_tree);
3}
diff --git a/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
new file mode 100644
index 000000000..7c61b5006
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
@@ -0,0 +1,2291 @@
1[email protected]
2 [email protected] "//! Adapted from a `r ..."
3 [email protected] "\n"
4 [email protected] "//! https://github.co ..."
5 [email protected] "\n"
6 [email protected] "//! "
7 [email protected] "\n"
8 [email protected] "//! Reported to rust- ..."
9 [email protected] "\n\n"
10 [email protected]
11 [email protected] "#"
12 [email protected] "!"
13 [email protected] "["
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "allow"
18 [email protected]
19 [email protected] "("
20 [email protected] "non_camel_case_types"
21 [email protected] ")"
22 [email protected] "]"
23 [email protected] "\n"
24 [email protected]
25 [email protected] "#"
26 [email protected] "!"
27 [email protected] "["
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "allow"
32 [email protected]
33 [email protected] "("
34 [email protected] "dead_code"
35 [email protected] ")"
36 [email protected] "]"
37 [email protected] "\n"
38 [email protected]
39 [email protected] "#"
40 [email protected] "!"
41 [email protected] "["
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected] "allow"
46 [email protected]
47 [email protected] "("
48 [email protected] "unreachable_code"
49 [email protected] ")"
50 [email protected] "]"
51 [email protected] "\n"
52 [email protected]
53 [email protected] "#"
54 [email protected] "!"
55 [email protected] "["
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "allow"
60 [email protected]
61 [email protected] "("
62 [email protected] "unused_parens"
63 [email protected] ")"
64 [email protected] "]"
65 [email protected] "\n\n"
66 [email protected]
67 [email protected] "#"
68 [email protected] "!"
69 [email protected] "["
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected] "recursion_limit"
74 [email protected] " "
75 [email protected] "="
76 [email protected] " "
77 [email protected]
78 [email protected] "\"128\""
79 [email protected] "]"
80 [email protected] "\n\n"
81 [email protected]
82 [email protected] "use"
83 [email protected] " "
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "std"
91 [email protected] "::"
92 [email protected]
93 [email protected]
94 [email protected] "cell"
95 [email protected] "::"
96 [email protected]
97 [email protected]
98 [email protected] "Cell"
99 [email protected] ";"
100 [email protected] "\n"
101 [email protected]
102 [email protected] "use"
103 [email protected] " "
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected] "std"
111 [email protected] "::"
112 [email protected]
113 [email protected]
114 [email protected] "mem"
115 [email protected] "::"
116 [email protected]
117 [email protected]
118 [email protected] "swap"
119 [email protected] ";"
120 [email protected] "\n\n"
121 [email protected] "// Just a grab bag of ..."
122 [email protected] "\n\n"
123 [email protected]
124 [email protected] "fn"
125 [email protected] " "
126 [email protected]
127 [email protected] "strange"
128 [email protected]
129 [email protected] "("
130 [email protected] ")"
131 [email protected] " "
132 [email protected]
133 [email protected] "->"
134 [email protected] " "
135 [email protected]
136 [email protected]
137 [email protected]
138 [email protected]
139 [email protected] "bool"
140 [email protected] " "
141 [email protected]
142 [email protected] "{"
143 [email protected] " "
144 [email protected]
145 [email protected] "let"
146 [email protected] " "
147 [email protected]
148 [email protected]
149 [email protected] "_x"
150 [email protected] ":"
151 [email protected] " "
152 [email protected]
153 [email protected]
154 [email protected]
155 [email protected]
156 [email protected] "bool"
157 [email protected] " "
158 [email protected] "="
159 [email protected] " "
160 [email protected]
161 [email protected] "return"
162 [email protected] " "
163 [email protected]
164 [email protected] "true"
165 [email protected] ";"
166 [email protected] " "
167 [email protected] "}"
168 [email protected] "\n\n"
169 [email protected]
170 [email protected] "fn"
171 [email protected] " "
172 [email protected]
173 [email protected] "funny"
174 [email protected]
175 [email protected] "("
176 [email protected] ")"
177 [email protected] " "
178 [email protected]
179 [email protected] "{"
180 [email protected] "\n "
181 [email protected]
182 [email protected] "fn"
183 [email protected] " "
184 [email protected]
185 [email protected] "f"
186 [email protected]
187 [email protected] "("
188 [email protected]
189 [email protected]
190 [email protected]
191 [email protected] "_x"
192 [email protected] ":"
193 [email protected] " "
194 [email protected]
195 [email protected] "("
196 [email protected] ")"
197 [email protected] ")"
198 [email protected] " "
199 [email protected]
200 [email protected] "{"
201 [email protected] " "
202 [email protected] "}"
203 [email protected] "\n "
204 [email protected]
205 [email protected]
206 [email protected]
207 [email protected]
208 [email protected]
209 [email protected]
210 [email protected] "f"
211 [email protected]
212 [email protected] "("
213 [email protected]
214 [email protected] "return"
215 [email protected] ")"
216 [email protected] ";"
217 [email protected] "\n"
218 [email protected] "}"
219 [email protected] "\n\n"
220 [email protected]
221 [email protected] "fn"
222 [email protected] " "
223 [email protected]
224 [email protected] "what"
225 [email protected]
226 [email protected] "("
227 [email protected] ")"
228 [email protected] " "
229 [email protected]
230 [email protected] "{"
231 [email protected] "\n "
232 [email protected]
233 [email protected] "fn"
234 [email protected] " "
235 [email protected]
236 [email protected] "the"
237 [email protected]
238 [email protected] "("
239 [email protected]
240 [email protected]
241 [email protected]
242 [email protected] "x"
243 [email protected] ":"
244 [email protected] " "
245 [email protected]
246 [email protected] "&"
247 [email protected]
248 [email protected]
249 [email protected]
250 [email protected]
251 [email protected] "Cell"
252 [email protected]
253 [email protected] "<"
254 [email protected]
255 [email protected]
256 [email protected]
257 [email protected]
258 [email protected]
259 [email protected] "bool"
260 [email protected] ">"
261 [email protected] ")"
262 [email protected] " "
263 [email protected]
264 [email protected] "{"
265 [email protected] "\n "
266 [email protected]
267 [email protected]
268 [email protected] "return"
269 [email protected] " "
270 [email protected]
271 [email protected] "while"
272 [email protected] " "
273 [email protected]
274 [email protected]
275 [email protected] "!"
276 [email protected]
277 [email protected]
278 [email protected]
279 [email protected]
280 [email protected]
281 [email protected] "x"
282 [email protected] "."
283 [email protected]
284 [email protected] "get"
285 [email protected]
286 [email protected] "("
287 [email protected] ")"
288 [email protected] " "
289 [email protected]
290 [email protected] "{"
291 [email protected] " "
292 [email protected]
293 [email protected]
294 [email protected]
295 [email protected]
296 [email protected]
297 [email protected]
298 [email protected] "x"
299 [email protected] "."
300 [email protected]
301 [email protected] "set"
302 [email protected]
303 [email protected] "("
304 [email protected]
305 [email protected] "true"
306 [email protected] ")"
307 [email protected] ";"
308 [email protected] " "
309 [email protected] "}"
310 [email protected] ";"
311 [email protected] "\n "
312 [email protected] "}"
313 [email protected] "\n "
314 [email protected]
315 [email protected] "let"
316 [email protected] " "
317 [email protected]
318 [email protected]
319 [email protected] "i"
320 [email protected] " "
321 [email protected] "="
322 [email protected] " "
323 [email protected]
324 [email protected] "&"
325 [email protected]
326 [email protected]
327 [email protected]
328 [email protected]
329 [email protected]
330 [email protected]
331 [email protected] "Cell"
332 [email protected] "::"
333 [email protected]
334 [email protected]
335 [email protected] "new"
336 [email protected]
337 [email protected] "("
338 [email protected]
339 [email protected] "false"
340 [email protected] ")"
341 [email protected] ";"
342 [email protected] "\n "
343 [email protected]
344 [email protected] "let"
345 [email protected] " "
346 [email protected]
347 [email protected]
348 [email protected] "dont"
349 [email protected] " "
350 [email protected] "="
351 [email protected] " "
352 [email protected]
353 [email protected] "{"
354 [email protected]
355 [email protected]
356 [email protected] "|"
357 [email protected] "|"
358 [email protected]
359 [email protected]
360 [email protected]
361 [email protected]
362 [email protected]
363 [email protected] "the"
364 [email protected]
365 [email protected] "("
366 [email protected]
367 [email protected]
368 [email protected]
369 [email protected]
370 [email protected] "i"
371 [email protected] ")"
372 [email protected] "}"
373 [email protected] ";"
374 [email protected] "\n "
375 [email protected]
376 [email protected]
377 [email protected]
378 [email protected]
379 [email protected]
380 [email protected]
381 [email protected] "dont"
382 [email protected]
383 [email protected] "("
384 [email protected] ")"
385 [email protected] ";"
386 [email protected] "\n "
387 [email protected]
388 [email protected]
389 [email protected]
390 [email protected]
391 [email protected]
392 [email protected] "assert"
393 [email protected] "!"
394 [email protected]
395 [email protected] "("
396 [email protected]
397 [email protected] "("
398 [email protected] "i"
399 [email protected] "."
400 [email protected] "get"
401 [email protected]
402 [email protected] "("
403 [email protected] ")"
404 [email protected] ")"
405 [email protected] ")"
406 [email protected] ";"
407 [email protected] "\n"
408 [email protected] "}"
409 [email protected] "\n\n"
410 [email protected]
411 [email protected] "fn"
412 [email protected] " "
413 [email protected]
414 [email protected] "zombiejesus"
415 [email protected]
416 [email protected] "("
417 [email protected] ")"
418 [email protected] " "
419 [email protected]
420 [email protected] "{"
421 [email protected] "\n "
422 [email protected]
423 [email protected] "loop"
424 [email protected] " "
425 [email protected]
426 [email protected] "{"
427 [email protected] "\n "
428 [email protected]
429 [email protected]
430 [email protected] "while"
431 [email protected] " "
432 [email protected]
433 [email protected]
434 [email protected] "("
435 [email protected]
436 [email protected] "return"
437 [email protected] ")"
438 [email protected] " "
439 [email protected]
440 [email protected] "{"
441 [email protected] "\n "
442 [email protected]
443 [email protected] "if"
444 [email protected] " "
445 [email protected]
446 [email protected]
447 [email protected] "("
448 [email protected]
449 [email protected] "return"
450 [email protected] ")"
451 [email protected] " "
452 [email protected]
453 [email protected] "{"
454 [email protected] "\n "
455 [email protected]
456 [email protected]
457 [email protected] "match"
458 [email protected] " "
459 [email protected]
460 [email protected] "("
461 [email protected]
462 [email protected] "return"
463 [email protected] ")"
464 [email protected] " "
465 [email protected]
466 [email protected] "{"
467 [email protected] "\n "
468 [email protected]
469 [email protected]
470 [email protected]
471 [email protected] "1"
472 [email protected] " "
473 [email protected] "=>"
474 [email protected] " "
475 [email protected]
476 [email protected] "{"
477 [email protected] "\n ..."
478 [email protected]
479 [email protected] "if"
480 [email protected] " "
481 [email protected]
482 [email protected]
483 [email protected] "("
484 [email protected]
485 [email protected] "return"
486 [email protected] ")"
487 [email protected] " "
488 [email protected]
489 [email protected] "{"
490 [email protected] "\n ..."
491 [email protected]
492 [email protected] "return"
493 [email protected] "\n ..."
494 [email protected] "}"
495 [email protected] " "
496 [email protected] "else"
497 [email protected] " "
498 [email protected]
499 [email protected] "{"
500 [email protected] "\n ..."
501 [email protected]
502 [email protected] "return"
503 [email protected] "\n ..."
504 [email protected] "}"
505 [email protected] "\n "
506 [email protected] "}"
507 [email protected] "\n "
508 [email protected]
509 [email protected]
510 [email protected] "_"
511 [email protected] " "
512 [email protected] "=>"
513 [email protected] " "
514 [email protected]
515 [email protected] "{"
516 [email protected] " "
517 [email protected]
518 [email protected] "return"
519 [email protected] " "
520 [email protected] "}"
521 [email protected] "\n "
522 [email protected] "}"
523 [email protected] ";"
524 [email protected] "\n "
525 [email protected] "}"
526 [email protected] " "
527 [email protected] "else"
528 [email protected] " "
529 [email protected]
530 [email protected] "if"
531 [email protected] " "
532 [email protected]
533 [email protected]
534 [email protected] "("
535 [email protected]
536 [email protected] "return"
537 [email protected] ")"
538 [email protected] " "
539 [email protected]
540 [email protected] "{"
541 [email protected] "\n "
542 [email protected]
543 [email protected]
544 [email protected] "return"
545 [email protected] ";"
546 [email protected] "\n "
547 [email protected] "}"
548 [email protected] "\n "
549 [email protected] "}"
550 [email protected] "\n "
551 [email protected]
552 [email protected] "if"
553 [email protected] " "
554 [email protected]
555 [email protected]
556 [email protected] "("
557 [email protected]
558 [email protected] "return"
559 [email protected] ")"
560 [email protected] " "
561 [email protected]
562 [email protected] "{"
563 [email protected] " "
564 [email protected]
565 [email protected]
566 [email protected] "break"
567 [email protected] ";"
568 [email protected] " "
569 [email protected] "}"
570 [email protected] "\n "
571 [email protected] "}"
572 [email protected] "\n"
573 [email protected] "}"
574 [email protected] "\n\n"
575 [email protected]
576 [email protected] "fn"
577 [email protected] " "
578 [email protected]
579 [email protected] "notsure"
580 [email protected]
581 [email protected] "("
582 [email protected] ")"
583 [email protected] " "
584 [email protected]
585 [email protected] "{"
586 [email protected] "\n "
587 [email protected]
588 [email protected] "let"
589 [email protected] " "
590 [email protected]
591 [email protected] "mut"
592 [email protected] " "
593 [email protected]
594 [email protected] "_x"
595 [email protected] ":"
596 [email protected] " "
597 [email protected]
598 [email protected]
599 [email protected]
600 [email protected]
601 [email protected] "isize"
602 [email protected] ";"
603 [email protected] "\n "
604 [email protected]
605 [email protected] "let"
606 [email protected] " "
607 [email protected]
608 [email protected] "mut"
609 [email protected] " "
610 [email protected]
611 [email protected] "_y"
612 [email protected] " "
613 [email protected] "="
614 [email protected] " "
615 [email protected]
616 [email protected]
617 [email protected] "("
618 [email protected]
619 [email protected]
620 [email protected]
621 [email protected]
622 [email protected]
623 [email protected] "_x"
624 [email protected] " "
625 [email protected] "="
626 [email protected] " "
627 [email protected]
628 [email protected] "0"
629 [email protected] ")"
630 [email protected] " "
631 [email protected] "=="
632 [email protected] " "
633 [email protected]
634 [email protected] "("
635 [email protected]
636 [email protected]
637 [email protected]
638 [email protected]
639 [email protected]
640 [email protected] "_x"
641 [email protected] " "
642 [email protected] "="
643 [email protected] " "
644 [email protected]
645 [email protected] "0"
646 [email protected] ")"
647 [email protected] ";"
648 [email protected] "\n "
649 [email protected]
650 [email protected] "let"
651 [email protected] " "
652 [email protected]
653 [email protected] "mut"
654 [email protected] " "
655 [email protected]
656 [email protected] "_z"
657 [email protected] " "
658 [email protected] "="
659 [email protected] " "
660 [email protected]
661 [email protected]
662 [email protected] "("
663 [email protected]
664 [email protected]
665 [email protected]
666 [email protected]
667 [email protected]
668 [email protected] "_x"
669 [email protected] " "
670 [email protected] "="
671 [email protected] " "
672 [email protected]
673 [email protected] "0"
674 [email protected] ")"
675 [email protected] " "
676 [email protected] "<"
677 [email protected] " "
678 [email protected]
679 [email protected] "("
680 [email protected]
681 [email protected]
682 [email protected]
683 [email protected]
684 [email protected]
685 [email protected] "_x"
686 [email protected] " "
687 [email protected] "="
688 [email protected] " "
689 [email protected]
690 [email protected] "0"
691 [email protected] ")"
692 [email protected] ";"
693 [email protected] "\n "
694 [email protected]
695 [email protected] "let"
696 [email protected] " "
697 [email protected]
698 [email protected]
699 [email protected] "_a"
700 [email protected] " "
701 [email protected] "="
702 [email protected] " "
703 [email protected]
704 [email protected]
705 [email protected] "("
706 [email protected]
707 [email protected]
708 [email protected]
709 [email protected]
710 [email protected]
711 [email protected] "_x"
712 [email protected] " "
713 [email protected] "+="
714 [email protected] " "
715 [email protected]
716 [email protected] "0"
717 [email protected] ")"
718 [email protected] " "
719 [email protected] "=="
720 [email protected] " "
721 [email protected]
722 [email protected] "("
723 [email protected]
724 [email protected]
725 [email protected]
726 [email protected]
727 [email protected]
728 [email protected] "_x"
729 [email protected] " "
730 [email protected] "="
731 [email protected] " "
732 [email protected]
733 [email protected] "0"
734 [email protected] ")"
735 [email protected] ";"
736 [email protected] "\n "
737 [email protected]
738 [email protected] "let"
739 [email protected] " "
740 [email protected]
741 [email protected]
742 [email protected] "_b"
743 [email protected] " "
744 [email protected] "="
745 [email protected] " "
746 [email protected]
747 [email protected]
748 [email protected]
749 [email protected]
750 [email protected]
751 [email protected]
752 [email protected] "swap"
753 [email protected]
754 [email protected] "("
755 [email protected]
756 [email protected] "&"
757 [email protected] "mut"
758 [email protected] " "
759 [email protected]
760 [email protected]
761 [email protected]
762 [email protected]
763 [email protected] "_y"
764 [email protected] ","
765 [email protected] " "
766 [email protected]
767 [email protected] "&"
768 [email protected] "mut"
769 [email protected] " "
770 [email protected]
771 [email protected]
772 [email protected]
773 [email protected]
774 [email protected] "_z"
775 [email protected] ")"
776 [email protected] " "
777 [email protected] "=="
778 [email protected] " "
779 [email protected]
780 [email protected]
781 [email protected]
782 [email protected]
783 [email protected]
784 [email protected] "swap"
785 [email protected]
786 [email protected] "("
787 [email protected]
788 [email protected] "&"
789 [email protected] "mut"
790 [email protected] " "
791 [email protected]
792 [email protected]
793 [email protected]
794 [email protected]
795 [email protected] "_y"
796 [email protected] ","
797 [email protected] " "
798 [email protected]
799 [email protected] "&"
800 [email protected] "mut"
801 [email protected] " "
802 [email protected]
803 [email protected]
804 [email protected]
805 [email protected]
806 [email protected] "_z"
807 [email protected] ")"
808 [email protected] ";"
809 [email protected] "\n"
810 [email protected] "}"
811 [email protected] "\n\n"
812 [email protected]
813 [email protected] "fn"
814 [email protected] " "
815 [email protected]
816 [email protected] "canttouchthis"
817 [email protected]
818 [email protected] "("
819 [email protected] ")"
820 [email protected] " "
821 [email protected]
822 [email protected] "->"
823 [email protected] " "
824 [email protected]
825 [email protected]
826 [email protected]
827 [email protected]
828 [email protected] "usize"
829 [email protected] " "
830 [email protected]
831 [email protected] "{"
832 [email protected] "\n "
833 [email protected]
834 [email protected] "fn"
835 [email protected] " "
836 [email protected]
837 [email protected] "p"
838 [email protected]
839 [email protected] "("
840 [email protected] ")"
841 [email protected] " "
842 [email protected]
843 [email protected] "->"
844 [email protected] " "
845 [email protected]
846 [email protected]
847 [email protected]
848 [email protected]
849 [email protected] "bool"
850 [email protected] " "
851 [email protected]
852 [email protected] "{"
853 [email protected] " "
854 [email protected]
855 [email protected] "true"
856 [email protected] " "
857 [email protected] "}"
858 [email protected] "\n "
859 [email protected]
860 [email protected] "let"
861 [email protected] " "
862 [email protected]
863 [email protected]
864 [email protected] "_a"
865 [email protected] " "
866 [email protected] "="
867 [email protected] " "
868 [email protected]
869 [email protected] "("
870 [email protected]
871 [email protected]
872 [email protected]
873 [email protected]
874 [email protected]
875 [email protected] "assert"
876 [email protected] "!"
877 [email protected]
878 [email protected] "("
879 [email protected]
880 [email protected] "("
881 [email protected] "true"
882 [email protected] ")"
883 [email protected] ")"
884 [email protected] " "
885 [email protected] "=="
886 [email protected] " "
887 [email protected]
888 [email protected] "("
889 [email protected]
890 [email protected]
891 [email protected]
892 [email protected]
893 [email protected] "assert"
894 [email protected] "!"
895 [email protected]
896 [email protected] "("
897 [email protected] "p"
898 [email protected]
899 [email protected] "("
900 [email protected] ")"
901 [email protected] ")"
902 [email protected] ")"
903 [email protected] ")"
904 [email protected] ";"
905 [email protected] "\n "
906 [email protected]
907 [email protected] "let"
908 [email protected] " "
909 [email protected]
910 [email protected]
911 [email protected] "_c"
912 [email protected] " "
913 [email protected] "="
914 [email protected] " "
915 [email protected]
916 [email protected] "("
917 [email protected]
918 [email protected]
919 [email protected]
920 [email protected]
921 [email protected]
922 [email protected] "assert"
923 [email protected] "!"
924 [email protected]
925 [email protected] "("
926 [email protected]
927 [email protected] "("
928 [email protected] "p"
929 [email protected]
930 [email protected] "("
931 [email protected] ")"
932 [email protected] ")"
933 [email protected] ")"
934 [email protected] " "
935 [email protected] "=="
936 [email protected] " "
937 [email protected]
938 [email protected] "("
939 [email protected] ")"
940 [email protected] ")"
941 [email protected] ";"
942 [email protected] "\n "
943 [email protected]
944 [email protected] "let"
945 [email protected] " "
946 [email protected]
947 [email protected]
948 [email protected] "_b"
949 [email protected] ":"
950 [email protected] " "
951 [email protected]
952 [email protected]
953 [email protected]
954 [email protected]
955 [email protected] "bool"
956 [email protected] " "
957 [email protected] "="
958 [email protected] " "
959 [email protected]
960 [email protected] "("
961 [email protected]
962 [email protected]
963 [email protected]
964 [email protected]
965 [email protected]
966 [email protected] "println"
967 [email protected] "!"
968 [email protected]
969 [email protected] "("
970 [email protected] "\"{}\""
971 [email protected] ","
972 [email protected] " "
973 [email protected] "0"
974 [email protected] ")"
975 [email protected] " "
976 [email protected] "=="
977 [email protected] " "
978 [email protected]
979 [email protected] "("
980 [email protected]
981 [email protected] "return"
982 [email protected] " "
983 [email protected]
984 [email protected] "0"
985 [email protected] ")"
986 [email protected] ")"
987 [email protected] ";"
988 [email protected] "\n"
989 [email protected] "}"
990 [email protected] "\n\n"
991 [email protected]
992 [email protected] "fn"
993 [email protected] " "
994 [email protected]
995 [email protected] "angrydome"
996 [email protected]
997 [email protected] "("
998 [email protected] ")"
999 [email protected] " "
1000 [email protected]
1001 [email protected] "{"
1002 [email protected] "\n "
1003 [email protected]
1004 [email protected]
1005 [email protected] "loop"
1006 [email protected] " "
1007 [email protected]
1008 [email protected] "{"
1009 [email protected] " "
1010 [email protected]
1011 [email protected] "if"
1012 [email protected] " "
1013 [email protected]
1014 [email protected]
1015 [email protected] "break"
1016 [email protected] " "
1017 [email protected]
1018 [email protected] "{"
1019 [email protected] " "
1020 [email protected] "}"
1021 [email protected] " "
1022 [email protected] "}"
1023 [email protected] "\n "
1024 [email protected]
1025 [email protected] "let"
1026 [email protected] " "
1027 [email protected]
1028 [email protected] "mut"
1029 [email protected] " "
1030 [email protected]
1031 [email protected] "i"
1032 [email protected] " "
1033 [email protected] "="
1034 [email protected] " "
1035 [email protected]
1036 [email protected] "0"
1037 [email protected] ";"
1038 [email protected] "\n "
1039 [email protected]
1040 [email protected] "loop"
1041 [email protected] " "
1042 [email protected]
1043 [email protected] "{"
1044 [email protected] " "
1045 [email protected]
1046 [email protected]
1047 [email protected]
1048 [email protected]
1049 [email protected]
1050 [email protected]
1051 [email protected] "i"
1052 [email protected] " "
1053 [email protected] "+="
1054 [email protected] " "
1055 [email protected]
1056 [email protected] "1"
1057 [email protected] ";"
1058 [email protected] " "
1059 [email protected]
1060 [email protected]
1061 [email protected] "if"
1062 [email protected] " "
1063 [email protected]
1064 [email protected]
1065 [email protected]
1066 [email protected]
1067 [email protected]
1068 [email protected]
1069 [email protected] "i"
1070 [email protected] " "
1071 [email protected] "=="
1072 [email protected] " "
1073 [email protected]
1074 [email protected] "1"
1075 [email protected] " "
1076 [email protected]
1077 [email protected] "{"
1078 [email protected] " "
1079 [email protected]
1080 [email protected] "match"
1081 [email protected] " "
1082 [email protected]
1083 [email protected] "("
1084 [email protected]
1085 [email protected] "continue"
1086 [email protected] ")"
1087 [email protected] " "
1088 [email protected]
1089 [email protected] "{"
1090 [email protected] " "
1091 [email protected]
1092 [email protected]
1093 [email protected]
1094 [email protected] "1"
1095 [email protected] " "
1096 [email protected] "=>"
1097 [email protected] " "
1098 [email protected]
1099 [email protected] "{"
1100 [email protected] " "
1101 [email protected] "}"
1102 [email protected] ","
1103 [email protected] " "
1104 [email protected]
1105 [email protected]
1106 [email protected] "_"
1107 [email protected] " "
1108 [email protected] "=>"
1109 [email protected] " "
1110 [email protected]
1111 [email protected]
1112 [email protected]
1113 [email protected]
1114 [email protected] "panic"
1115 [email protected] "!"
1116 [email protected]
1117 [email protected] "("
1118 [email protected] "\"wat\""
1119 [email protected] ")"
1120 [email protected] " "
1121 [email protected] "}"
1122 [email protected] " "
1123 [email protected] "}"
1124 [email protected] "\n "
1125 [email protected]
1126 [email protected]
1127 [email protected] "break"
1128 [email protected] ";"
1129 [email protected] " "
1130 [email protected] "}"
1131 [email protected] "\n"
1132 [email protected] "}"
1133 [email protected] "\n\n"
1134 [email protected]
1135 [email protected] "fn"
1136 [email protected] " "
1137 [email protected]
1138 [email protected] "evil_lincoln"
1139 [email protected]
1140 [email protected] "("
1141 [email protected] ")"
1142 [email protected] " "
1143 [email protected]
1144 [email protected] "{"
1145 [email protected] " "
1146 [email protected]
1147 [email protected] "let"
1148 [email protected] " "
1149 [email protected]
1150 [email protected]
1151 [email protected] "_evil"
1152 [email protected] " "
1153 [email protected] "="
1154 [email protected] " "
1155 [email protected]
1156 [email protected]
1157 [email protected]
1158 [email protected]
1159 [email protected] "println"
1160 [email protected] "!"
1161 [email protected]
1162 [email protected] "("
1163 [email protected] "\"lincoln\""
1164 [email protected] ")"
1165 [email protected] ";"
1166 [email protected] " "
1167 [email protected] "}"
1168 [email protected] "\n\n"
1169 [email protected]
1170 [email protected] "fn"
1171 [email protected] " "
1172 [email protected]
1173 [email protected] "dots"
1174 [email protected]
1175 [email protected] "("
1176 [email protected] ")"
1177 [email protected] " "
1178 [email protected]
1179 [email protected] "{"
1180 [email protected] "\n "
1181 [email protected]
1182 [email protected]
1183 [email protected]
1184 [email protected]
1185 [email protected]
1186 [email protected] "assert_eq"
1187 [email protected] "!"
1188 [email protected]
1189 [email protected] "("
1190 [email protected] "String"
1191 [email protected] ":"
1192 [email protected] ":"
1193 [email protected] "from"
1194 [email protected]
1195 [email protected] "("
1196 [email protected] "\".................... ..."
1197 [email protected] ")"
1198 [email protected] ","
1199 [email protected] "\n "
1200 [email protected] "format"
1201 [email protected] "!"
1202 [email protected]
1203 [email protected] "("
1204 [email protected] "\"{:?}\""
1205 [email protected] ","
1206 [email protected] " "
1207 [email protected] "."
1208 [email protected] "."
1209 [email protected] " "
1210 [email protected] "."
1211 [email protected] "."
1212 [email protected] " "
1213 [email protected] "."
1214 [email protected] "."
1215 [email protected] " "
1216 [email protected] "."
1217 [email protected] "."
1218 [email protected] " "
1219 [email protected] "."
1220 [email protected] "."
1221 [email protected] " "
1222 [email protected] "."
1223 [email protected] "."
1224 [email protected] " "
1225 [email protected] "."
1226 [email protected] "."
1227 [email protected] " "
1228 [email protected] "."
1229 [email protected] "."
1230 [email protected] " "
1231 [email protected] "."
1232 [email protected] "."
1233 [email protected] " "
1234 [email protected] "."
1235 [email protected] "."
1236 [email protected] " "
1237 [email protected] "."
1238 [email protected] "."
1239 [email protected] " "
1240 [email protected] "."
1241 [email protected] "."
1242 [email protected] " "
1243 [email protected] "."
1244 [email protected] "."
1245 [email protected] "\n ..."
1246 [email protected] "."
1247 [email protected] "."
1248 [email protected] " "
1249 [email protected] "."
1250 [email protected] "."
1251 [email protected] " "
1252 [email protected] "."
1253 [email protected] "."
1254 [email protected] " "
1255 [email protected] "."
1256 [email protected] "."
1257 [email protected] " "
1258 [email protected] "."
1259 [email protected] "."
1260 [email protected] " "
1261 [email protected] "."
1262 [email protected] "."
1263 [email protected] " "
1264 [email protected] "."
1265 [email protected] "."
1266 [email protected] " "
1267 [email protected] "."
1268 [email protected] "."
1269 [email protected] " "
1270 [email protected] "."
1271 [email protected] "."
1272 [email protected] " "
1273 [email protected] "."
1274 [email protected] "."
1275 [email protected] " "
1276 [email protected] "."
1277 [email protected] "."
1278 [email protected] " "
1279 [email protected] "."
1280 [email protected] "."
1281 [email protected] ")"
1282 [email protected] ")"
1283 [email protected] ";"
1284 [email protected] "\n"
1285 [email protected] "}"
1286 [email protected] "\n\n"
1287 [email protected]
1288 [email protected] "fn"
1289 [email protected] " "
1290 [email protected]
1291 [email protected] "u8"
1292 [email protected]
1293 [email protected] "("
1294 [email protected]
1295 [email protected]
1296 [email protected]
1297 [email protected] "u8"
1298 [email protected] ":"
1299 [email protected] " "
1300 [email protected]
1301 [email protected]
1302 [email protected]
1303 [email protected]
1304 [email protected] "u8"
1305 [email protected] ")"
1306 [email protected] " "
1307 [email protected]
1308 [email protected] "{"
1309 [email protected] "\n "
1310 [email protected]
1311 [email protected] "if"
1312 [email protected] " "
1313 [email protected]
1314 [email protected]
1315 [email protected]
1316 [email protected]
1317 [email protected]
1318 [email protected]
1319 [email protected] "u8"
1320 [email protected] " "
1321 [email protected] "!="
1322 [email protected] " "
1323 [email protected]
1324 [email protected] "0u8"
1325 [email protected] " "
1326 [email protected]
1327 [email protected] "{"
1328 [email protected] "\n "
1329 [email protected]
1330 [email protected]
1331 [email protected]
1332 [email protected]
1333 [email protected]
1334 [email protected] "assert_eq"
1335 [email protected] "!"
1336 [email protected]
1337 [email protected] "("
1338 [email protected] "8u8"
1339 [email protected] ","
1340 [email protected] " "
1341 [email protected]
1342 [email protected] "{"
1343 [email protected] "\n "
1344 [email protected] "macro_rules"
1345 [email protected] "!"
1346 [email protected] " "
1347 [email protected] "u8"
1348 [email protected] " "
1349 [email protected]
1350 [email protected] "{"
1351 [email protected] "\n "
1352 [email protected]
1353 [email protected] "("
1354 [email protected] "u8"
1355 [email protected] ")"
1356 [email protected] " "
1357 [email protected] "="
1358 [email protected] ">"
1359 [email protected] " "
1360 [email protected]
1361 [email protected] "{"
1362 [email protected] "\n "
1363 [email protected] "mod"
1364 [email protected] " "
1365 [email protected] "u8"
1366 [email protected] " "
1367 [email protected]
1368 [email protected] "{"
1369 [email protected] "\n ..."
1370 [email protected] "pub"
1371 [email protected] " "
1372 [email protected] "fn"
1373 [email protected] " "
1374 [email protected] "u8"
1375 [email protected] "<"
1376 [email protected] "\'u8"
1377 [email protected] ":"
1378 [email protected] " "
1379 [email protected] "\'u8"
1380 [email protected] " "
1381 [email protected] "+"
1382 [email protected] " "
1383 [email protected] "\'u8"
1384 [email protected] ">"
1385 [email protected]
1386 [email protected] "("
1387 [email protected] "u8"
1388 [email protected] ":"
1389 [email protected] " "
1390 [email protected] "&"
1391 [email protected] "\'u8"
1392 [email protected] " "
1393 [email protected] "u8"
1394 [email protected] ")"
1395 [email protected] " "
1396 [email protected] "-"
1397 [email protected] ">"
1398 [email protected] " "
1399 [email protected] "&"
1400 [email protected] "\'u8"
1401 [email protected] " "
1402 [email protected] "u8"
1403 [email protected] " "
1404 [email protected]
1405 [email protected] "{"
1406 [email protected] "\n ..."
1407 [email protected] "\"u8\""
1408 [email protected] ";"
1409 [email protected] "\n ..."
1410 [email protected] "u8"
1411 [email protected] "\n ..."
1412 [email protected] "}"
1413 [email protected] "\n "
1414 [email protected] "}"
1415 [email protected] "\n "
1416 [email protected] "}"
1417 [email protected] ";"
1418 [email protected] "\n "
1419 [email protected] "}"
1420 [email protected] "\n\n "
1421 [email protected] "u8"
1422 [email protected] "!"
1423 [email protected]
1424 [email protected] "("
1425 [email protected] "u8"
1426 [email protected] ")"
1427 [email protected] ";"
1428 [email protected] "\n "
1429 [email protected] "let"
1430 [email protected] " "
1431 [email protected] "&"
1432 [email protected] "u8"
1433 [email protected] ":"
1434 [email protected] " "
1435 [email protected] "&"
1436 [email protected] "u8"
1437 [email protected] " "
1438 [email protected] "="
1439 [email protected] " "
1440 [email protected] "u8"
1441 [email protected] ":"
1442 [email protected] ":"
1443 [email protected] "u8"
1444 [email protected]
1445 [email protected] "("
1446 [email protected] "&"
1447 [email protected] "8u8"
1448 [email protected] ")"
1449 [email protected] ";"
1450 [email protected] "\n "
1451 [email protected] "crate"
1452 [email protected] ":"
1453 [email protected] ":"
1454 [email protected] "u8"
1455 [email protected]
1456 [email protected] "("
1457 [email protected] "0u8"
1458 [email protected] ")"
1459 [email protected] ";"
1460 [email protected] "\n "
1461 [email protected] "u8"
1462 [email protected] "\n "
1463 [email protected] "}"
1464 [email protected] ")"
1465 [email protected] ";"
1466 [email protected] "\n "
1467 [email protected] "}"
1468 [email protected] "\n"
1469 [email protected] "}"
1470 [email protected] "\n\n"
1471 [email protected]
1472 [email protected] "fn"
1473 [email protected] " "
1474 [email protected]
1475 [email protected] "fishy"
1476 [email protected]
1477 [email protected] "("
1478 [email protected] ")"
1479 [email protected] " "
1480 [email protected]
1481 [email protected] "{"
1482 [email protected] "\n "
1483 [email protected]
1484 [email protected]
1485 [email protected]
1486 [email protected]
1487 [email protected]
1488 [email protected] "assert_eq"
1489 [email protected] "!"
1490 [email protected]
1491 [email protected] "("
1492 [email protected] "String"
1493 [email protected] ":"
1494 [email protected] ":"
1495 [email protected] "from"
1496 [email protected]
1497 [email protected] "("
1498 [email protected] "\"><>\""
1499 [email protected] ")"
1500 [email protected] ","
1501 [email protected] "\n "
1502 [email protected] "String"
1503 [email protected] ":"
1504 [email protected] ":"
1505 [email protected] "<"
1506 [email protected] ">"
1507 [email protected] ":"
1508 [email protected] ":"
1509 [email protected] "from"
1510 [email protected] ":"
1511 [email protected] ":"
1512 [email protected] "<"
1513 [email protected] ">"
1514 [email protected]
1515 [email protected] "("
1516 [email protected] "\"><>\""
1517 [email protected] ")"
1518 [email protected] "."
1519 [email protected] "chars"
1520 [email protected] ":"
1521 [email protected] ":"
1522 [email protected] "<"
1523 [email protected] ">"
1524 [email protected]
1525 [email protected] "("
1526 [email protected] ")"
1527 [email protected] "."
1528 [email protected] "rev"
1529 [email protected] ":"
1530 [email protected] ":"
1531 [email protected] "<"
1532 [email protected] ">"
1533 [email protected]
1534 [email protected] "("
1535 [email protected] ")"
1536 [email protected] "."
1537 [email protected] "collect"
1538 [email protected] ":"
1539 [email protected] ":"
1540 [email protected] "<"
1541 [email protected] "String"
1542 [email protected] ">"
1543 [email protected]
1544 [email protected] "("
1545 [email protected] ")"
1546 [email protected] ")"
1547 [email protected] ";"
1548 [email protected] "\n"
1549 [email protected] "}"
1550 [email protected] "\n\n"
1551 [email protected]
1552 [email protected] "fn"
1553 [email protected] " "
1554 [email protected]
1555 [email protected] "union"
1556 [email protected]
1557 [email protected] "("
1558 [email protected] ")"
1559 [email protected] " "
1560 [email protected]
1561 [email protected] "{"
1562 [email protected] "\n "
1563 [email protected]
1564 [email protected] "union"
1565 [email protected] " "
1566 [email protected]
1567 [email protected] "union"
1568 [email protected]
1569 [email protected] "<"
1570 [email protected]
1571 [email protected] "\'union"
1572 [email protected] ">"
1573 [email protected] " "
1574 [email protected]
1575 [email protected] "{"
1576 [email protected] " "
1577 [email protected]
1578 [email protected]
1579 [email protected] "union"
1580 [email protected] ":"
1581 [email protected] " "
1582 [email protected]
1583 [email protected] "&"
1584 [email protected] "\'union"
1585 [email protected] " "
1586 [email protected]
1587 [email protected]
1588 [email protected]
1589 [email protected]
1590 [email protected] "union"
1591 [email protected]
1592 [email protected] "<"
1593 [email protected]
1594 [email protected] "\'union"
1595 [email protected] ">"
1596 [email protected] ","
1597 [email protected] " "
1598 [email protected] "}"
1599 [email protected] "\n"
1600 [email protected] "}"
1601 [email protected] "\n\n"
1602 [email protected]
1603 [email protected] "fn"
1604 [email protected] " "
1605 [email protected]
1606 [email protected] "special_characters"
1607 [email protected]
1608 [email protected] "("
1609 [email protected] ")"
1610 [email protected] " "
1611 [email protected]
1612 [email protected] "{"
1613 [email protected] "\n "
1614 [email protected]
1615 [email protected] "let"
1616 [email protected] " "
1617 [email protected]
1618 [email protected]
1619 [email protected] "val"
1620 [email protected] " "
1621 [email protected] "="
1622 [email protected] " "
1623 [email protected]
1624 [email protected] "!"
1625 [email protected]
1626 [email protected] "("
1627 [email protected]
1628 [email protected]
1629 [email protected]
1630 [email protected] "("
1631 [email protected]
1632 [email protected]
1633 [email protected] "|"
1634 [email protected]
1635 [email protected]
1636 [email protected] "("
1637 [email protected]
1638 [email protected] ".."
1639 [email protected] ")"
1640 [email protected] ":"
1641 [email protected]
1642 [email protected] "("
1643 [email protected]
1644 [email protected] "_"
1645 [email protected] ","
1646 [email protected]
1647 [email protected] "_"
1648 [email protected] ")"
1649 [email protected] ","
1650 [email protected]
1651 [email protected]
1652 [email protected]
1653 [email protected] "__"
1654 [email protected] "@"
1655 [email protected]
1656 [email protected] "_"
1657 [email protected] "|"
1658 [email protected]
1659 [email protected]
1660 [email protected]
1661 [email protected]
1662 [email protected] "__"
1663 [email protected] ")"
1664 [email protected]
1665 [email protected] "("
1666 [email protected]
1667 [email protected] "("
1668 [email protected]
1669 [email protected] "&"
1670 [email protected]
1671 [email protected] "*"
1672 [email protected]
1673 [email protected] "\"\\\\\""
1674 [email protected] ","
1675 [email protected]
1676 [email protected] "\'🤔\'"
1677 [email protected] ")"
1678 [email protected] "/**/"
1679 [email protected] ","
1680 [email protected]
1681 [email protected] "{"
1682 [email protected] "}"
1683 [email protected] ")"
1684 [email protected] "=="
1685 [email protected]
1686 [email protected] "{"
1687 [email protected]
1688 [email protected]
1689 [email protected] "&"
1690 [email protected]
1691 [email protected]
1692 [email protected] "["
1693 [email protected]
1694 [email protected] "..="
1695 [email protected]
1696 [email protected] ".."
1697 [email protected] "]"
1698 [email protected] "["
1699 [email protected]
1700 [email protected] ".."
1701 [email protected] "]"
1702 [email protected] ";"
1703 [email protected] "}"
1704 [email protected] ")"
1705 [email protected] "//"
1706 [email protected] "\n "
1707 [email protected] ";"
1708 [email protected] "\n "
1709 [email protected]
1710 [email protected]
1711 [email protected]
1712 [email protected]
1713 [email protected]
1714 [email protected] "assert"
1715 [email protected] "!"
1716 [email protected]
1717 [email protected] "("
1718 [email protected] "!"
1719 [email protected] "val"
1720 [email protected] ")"
1721 [email protected] ";"
1722 [email protected] "\n"
1723 [email protected] "}"
1724 [email protected] "\n\n"
1725 [email protected]
1726 [email protected] "fn"
1727 [email protected] " "
1728 [email protected]
1729 [email protected] "punch_card"
1730 [email protected]
1731 [email protected] "("
1732 [email protected] ")"
1733 [email protected] " "
1734 [email protected]
1735 [email protected] "->"
1736 [email protected] " "
1737 [email protected]
1738 [email protected] "impl"
1739 [email protected] " "
1740 [email protected]
1741 [email protected]
1742 [email protected]
1743 [email protected]
1744 [email protected]
1745 [email protected]
1746 [email protected]
1747 [email protected]
1748 [email protected] "std"
1749 [email protected] "::"
1750 [email protected]
1751 [email protected]
1752 [email protected] "fmt"
1753 [email protected] "::"
1754 [email protected]
1755 [email protected]
1756 [email protected] "Debug"
1757 [email protected] " "
1758 [email protected]
1759 [email protected] "{"
1760 [email protected] "\n "
1761 [email protected]
1762 [email protected] "..="
1763 [email protected]
1764 [email protected] "..="
1765 [email protected]
1766 [email protected] ".."
1767 [email protected] " "
1768 [email protected]
1769 [email protected] ".."
1770 [email protected] " "
1771 [email protected]
1772 [email protected] ".."
1773 [email protected] " "
1774 [email protected]
1775 [email protected] ".."
1776 [email protected] " "
1777 [email protected]
1778 [email protected] ".."
1779 [email protected] " "
1780 [email protected]
1781 [email protected] ".."
1782 [email protected] " "
1783 [email protected]
1784 [email protected] ".."
1785 [email protected] " "
1786 [email protected]
1787 [email protected] ".."
1788 [email protected] " "
1789 [email protected]
1790 [email protected] ".."
1791 [email protected] " "
1792 [email protected]
1793 [email protected] ".."
1794 [email protected] " "
1795 [email protected]
1796 [email protected] ".."
1797 [email protected] " "
1798 [email protected]
1799 [email protected] "..="
1800 [email protected]
1801 [email protected] ".."
1802 [email protected] " "
1803 [email protected]
1804 [email protected] ".."
1805 [email protected] "\n "
1806 [email protected]
1807 [email protected] "..="
1808 [email protected]
1809 [email protected] ".."
1810 [email protected] " "
1811 [email protected]
1812 [email protected] "..="
1813 [email protected]
1814 [email protected] ".."
1815 [email protected] " "
1816 [email protected]
1817 [email protected] ".."
1818 [email protected] " "
1819 [email protected]
1820 [email protected] ".."
1821 [email protected] " "
1822 [email protected]
1823 [email protected] ".."
1824 [email protected] " "
1825 [email protected]
1826 [email protected] ".."
1827 [email protected] " "
1828 [email protected]
1829 [email protected] ".."
1830 [email protected] " "
1831 [email protected]
1832 [email protected] ".."
1833 [email protected] " "
1834 [email protected]
1835 [email protected] ".."
1836 [email protected] " "
1837 [email protected]
1838 [email protected] ".."
1839 [email protected] " "
1840 [email protected]
1841 [email protected] "..="
1842 [email protected]
1843 [email protected] "..="
1844 [email protected]
1845 [email protected] "..="
1846 [email protected]
1847 [email protected] ".."
1848 [email protected] "\n "
1849 [email protected]
1850 [email protected] "..="
1851 [email protected]
1852 [email protected] ".."
1853 [email protected] " "
1854 [email protected]
1855 [email protected] "..="
1856 [email protected]
1857 [email protected] ".."
1858 [email protected] " "
1859 [email protected]
1860 [email protected] "..="
1861 [email protected]
1862 [email protected] ".."
1863 [email protected] " "
1864 [email protected]
1865 [email protected] "..="
1866 [email protected]
1867 [email protected] ".."
1868 [email protected] " "
1869 [email protected]
1870 [email protected] ".."
1871 [email protected] " "
1872 [email protected]
1873 [email protected] "..="
1874 [email protected]
1875 [email protected] "..="
1876 [email protected]
1877 [email protected] ".."
1878 [email protected] " "
1879 [email protected]
1880 [email protected] ".."
1881 [email protected] " "
1882 [email protected]
1883 [email protected] "..="
1884 [email protected]
1885 [email protected] ".."
1886 [email protected] " "
1887 [email protected]
1888 [email protected] ".."
1889 [email protected] "\n "
1890 [email protected]
1891 [email protected] "..="
1892 [email protected]
1893 [email protected] "..="
1894 [email protected]
1895 [email protected] ".."
1896 [email protected] " "
1897 [email protected]
1898 [email protected] ".."
1899 [email protected] " "
1900 [email protected]
1901 [email protected] "..="
1902 [email protected]
1903 [email protected] ".."
1904 [email protected] " "
1905 [email protected]
1906 [email protected] "..="
1907 [email protected]
1908 [email protected] ".."
1909 [email protected] " "
1910 [email protected]
1911 [email protected] "..="
1912 [email protected]
1913 [email protected] ".."
1914 [email protected] " "
1915 [email protected]
1916 [email protected] ".."
1917 [email protected] " "
1918 [email protected]
1919 [email protected] ".."
1920 [email protected] " "
1921 [email protected]
1922 [email protected] ".."
1923 [email protected] " "
1924 [email protected]
1925 [email protected] "..="
1926 [email protected]
1927 [email protected] ".."
1928 [email protected] " "
1929 [email protected]
1930 [email protected] ".."
1931 [email protected] "\n "
1932 [email protected]
1933 [email protected] "..="
1934 [email protected]
1935 [email protected] ".."
1936 [email protected] " "
1937 [email protected]
1938 [email protected] "..="
1939 [email protected]
1940 [email protected] ".."
1941 [email protected] " "
1942 [email protected]
1943 [email protected] "..="
1944 [email protected]
1945 [email protected] ".."
1946 [email protected] " "
1947 [email protected]
1948 [email protected] "..="
1949 [email protected]
1950 [email protected] ".."
1951 [email protected] " "
1952 [email protected]
1953 [email protected] ".."
1954 [email protected] " "
1955 [email protected]
1956 [email protected] "..="
1957 [email protected]
1958 [email protected] ".."
1959 [email protected] " "
1960 [email protected]
1961 [email protected] ".."
1962 [email protected] " "
1963 [email protected]
1964 [email protected] ".."
1965 [email protected] " "
1966 [email protected]
1967 [email protected] "..="
1968 [email protected]
1969 [email protected] ".."
1970 [email protected] " "
1971 [email protected]
1972 [email protected] ".."
1973 [email protected] "\n "
1974 [email protected]
1975 [email protected] "..="
1976 [email protected]
1977 [email protected] ".."
1978 [email protected] " "
1979 [email protected]
1980 [email protected] "..="
1981 [email protected]
1982 [email protected] ".."
1983 [email protected] " "
1984 [email protected]
1985 [email protected] "..="
1986 [email protected]
1987 [email protected] ".."
1988 [email protected] " "
1989 [email protected]
1990 [email protected] "..="
1991 [email protected]
1992 [email protected] ".."
1993 [email protected] " "
1994 [email protected]
1995 [email protected] ".."
1996 [email protected] " "
1997 [email protected]
1998 [email protected] ".."
1999 [email protected] " "
2000 [email protected]
2001 [email protected] "..="
2002 [email protected]
2003 [email protected] ".."
2004 [email protected] " "
2005 [email protected]
2006 [email protected] ".."
2007 [email protected] " "
2008 [email protected]
2009 [email protected] "..="
2010 [email protected]
2011 [email protected] ".."
2012 [email protected] " "
2013 [email protected]
2014 [email protected] ".."
2015 [email protected] "\n "
2016 [email protected]
2017 [email protected] "..="
2018 [email protected]
2019 [email protected] ".."
2020 [email protected] " "
2021 [email protected]
2022 [email protected] "..="
2023 [email protected]
2024 [email protected] ".."
2025 [email protected] " "
2026 [email protected]
2027 [email protected] ".."
2028 [email protected] " "
2029 [email protected]
2030 [email protected] "..="
2031 [email protected]
2032 [email protected] "..="
2033 [email protected]
2034 [email protected] ".."
2035 [email protected] " "
2036 [email protected]
2037 [email protected] "..="
2038 [email protected]
2039 [email protected] "..="
2040 [email protected]
2041 [email protected] ".."
2042 [email protected] " "
2043 [email protected]
2044 [email protected] ".."
2045 [email protected] " "
2046 [email protected]
2047 [email protected] ".."
2048 [email protected] " "
2049 [email protected]
2050 [email protected] "..="
2051 [email protected]
2052 [email protected] ".."
2053 [email protected] " "
2054 [email protected]
2055 [email protected] ".."
2056 [email protected] "\n"
2057 [email protected] "}"
2058 [email protected] "\n\n"
2059 [email protected]
2060 [email protected] "fn"
2061 [email protected] " "
2062 [email protected]
2063 [email protected] "ktulhu"
2064 [email protected]
2065 [email protected] "("
2066 [email protected] ")"
2067 [email protected] " "
2068 [email protected]
2069 [email protected] "{"
2070 [email protected] "\n "
2071 [email protected] ";"
2072 [email protected] ";"
2073 [email protected] ";"
2074 [email protected]
2075 [email protected]
2076 [email protected] "("
2077 [email protected] ")"
2078 [email protected] ";"
2079 [email protected] ";"
2080 [email protected] ";"
2081 [email protected] ";"
2082 [email protected] ";"
2083 [email protected] ";"
2084 [email protected] ";"
2085 [email protected] ";"
2086 [email protected] ";"
2087 [email protected]
2088 [email protected] "("
2089 [email protected] ")"
2090 [email protected] "\n"
2091 [email protected] "}"
2092 [email protected] "\n\n"
2093 [email protected]
2094 [email protected]
2095 [email protected] "pub"
2096 [email protected] " "
2097 [email protected] "fn"
2098 [email protected] " "
2099 [email protected]
2100 [email protected] "main"
2101 [email protected]
2102 [email protected] "("
2103 [email protected] ")"
2104 [email protected] " "
2105 [email protected]
2106 [email protected] "{"
2107 [email protected] "\n "
2108 [email protected]
2109 [email protected]
2110 [email protected]
2111 [email protected]
2112 [email protected]
2113 [email protected]
2114 [email protected] "strange"
2115 [email protected]
2116 [email protected] "("
2117 [email protected] ")"
2118 [email protected] ";"
2119 [email protected] "\n "
2120 [email protected]
2121 [email protected]
2122 [email protected]
2123 [email protected]
2124 [email protected]
2125 [email protected]
2126 [email protected] "funny"
2127 [email protected]
2128 [email protected] "("
2129 [email protected] ")"
2130 [email protected] ";"
2131 [email protected] "\n "
2132 [email protected]
2133 [email protected]
2134 [email protected]
2135 [email protected]
2136 [email protected]
2137 [email protected]
2138 [email protected] "what"
2139 [email protected]
2140 [email protected] "("
2141 [email protected] ")"
2142 [email protected] ";"
2143 [email protected] "\n "
2144 [email protected]
2145 [email protected]
2146 [email protected]
2147 [email protected]
2148 [email protected]
2149 [email protected]
2150 [email protected] "zombiejesus"
2151 [email protected]
2152 [email protected] "("
2153 [email protected] ")"
2154 [email protected] ";"
2155 [email protected] "\n "
2156 [email protected]
2157 [email protected]
2158 [email protected]
2159 [email protected]
2160 [email protected]
2161 [email protected]
2162 [email protected] "notsure"
2163 [email protected]
2164 [email protected] "("
2165 [email protected] ")"
2166 [email protected] ";"
2167 [email protected] "\n "
2168 [email protected]
2169 [email protected]
2170 [email protected]
2171 [email protected]
2172 [email protected]
2173 [email protected]
2174 [email protected] "canttouchthis"
2175 [email protected]
2176 [email protected] "("
2177 [email protected] ")"
2178 [email protected] ";"
2179 [email protected] "\n "
2180 [email protected]
2181 [email protected]
2182 [email protected]
2183 [email protected]
2184 [email protected]
2185 [email protected]
2186 [email protected] "angrydome"
2187 [email protected]
2188 [email protected] "("
2189 [email protected] ")"
2190 [email protected] ";"
2191 [email protected] "\n "
2192 [email protected]
2193 [email protected]
2194 [email protected]
2195 [email protected]
2196 [email protected]
2197 [email protected]
2198 [email protected] "evil_lincoln"
2199 [email protected]
2200 [email protected] "("
2201 [email protected] ")"
2202 [email protected] ";"
2203 [email protected] "\n "
2204 [email protected]
2205 [email protected]
2206 [email protected]
2207 [email protected]
2208 [email protected]
2209 [email protected]
2210 [email protected] "dots"
2211 [email protected]
2212 [email protected] "("
2213 [email protected] ")"
2214 [email protected] ";"
2215 [email protected] "\n "
2216 [email protected]
2217 [email protected]
2218 [email protected]
2219 [email protected]
2220 [email protected]
2221 [email protected]
2222 [email protected] "u8"
2223 [email protected]
2224 [email protected] "("
2225 [email protected]
2226 [email protected] "8u8"
2227 [email protected] ")"
2228 [email protected] ";"
2229 [email protected] "\n "
2230 [email protected]
2231 [email protected]
2232 [email protected]
2233 [email protected]
2234 [email protected]
2235 [email protected]
2236 [email protected] "fishy"
2237 [email protected]
2238 [email protected] "("
2239 [email protected] ")"
2240 [email protected] ";"
2241 [email protected] "\n "
2242 [email protected]
2243 [email protected]
2244 [email protected]
2245 [email protected]
2246 [email protected]
2247 [email protected]
2248 [email protected] "union"
2249 [email protected]
2250 [email protected] "("
2251 [email protected] ")"
2252 [email protected] ";"
2253 [email protected] "\n "
2254 [email protected]
2255 [email protected]
2256 [email protected]
2257 [email protected]
2258 [email protected]
2259 [email protected]
2260 [email protected] "special_characters"
2261 [email protected]
2262 [email protected] "("
2263 [email protected] ")"
2264 [email protected] ";"
2265 [email protected] "\n "
2266 [email protected]
2267 [email protected]
2268 [email protected]
2269 [email protected]
2270 [email protected]
2271 [email protected]
2272 [email protected] "punch_card"
2273 [email protected]
2274 [email protected] "("
2275 [email protected] ")"
2276 [email protected] ";"
2277 [email protected] "\n "
2278 [email protected]
2279 [email protected]
2280 [email protected]
2281 [email protected]
2282 [email protected]
2283 [email protected]
2284 [email protected] "ktulhu"
2285 [email protected]
2286 [email protected] "("
2287 [email protected] ")"
2288 [email protected] ";"
2289 [email protected] "\n"
2290 [email protected] "}"
2291 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0035_weird_exprs.rs b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rs
new file mode 100644
index 000000000..8c1323163
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rs
@@ -0,0 +1,154 @@
1//! Adapted from a `rustc` test, which can be found at
2//! https://github.com/rust-lang/rust/blob/6d34ec18c7d7e574553f6347ecf08e1e1c45c13d/src/test/run-pass/weird-exprs.rs.
3//!
4//! Reported to rust-analyzer in https://github.com/rust-analyzer/rust-analyzer/issues/290
5
6#![allow(non_camel_case_types)]
7#![allow(dead_code)]
8#![allow(unreachable_code)]
9#![allow(unused_parens)]
10
11#![recursion_limit = "128"]
12
13use std::cell::Cell;
14use std::mem::swap;
15
16// Just a grab bag of stuff that you wouldn't want to actually write.
17
18fn strange() -> bool { let _x: bool = return true; }
19
20fn funny() {
21 fn f(_x: ()) { }
22 f(return);
23}
24
25fn what() {
26 fn the(x: &Cell<bool>) {
27 return while !x.get() { x.set(true); };
28 }
29 let i = &Cell::new(false);
30 let dont = {||the(i)};
31 dont();
32 assert!((i.get()));
33}
34
35fn zombiejesus() {
36 loop {
37 while (return) {
38 if (return) {
39 match (return) {
40 1 => {
41 if (return) {
42 return
43 } else {
44 return
45 }
46 }
47 _ => { return }
48 };
49 } else if (return) {
50 return;
51 }
52 }
53 if (return) { break; }
54 }
55}
56
57fn notsure() {
58 let mut _x: isize;
59 let mut _y = (_x = 0) == (_x = 0);
60 let mut _z = (_x = 0) < (_x = 0);
61 let _a = (_x += 0) == (_x = 0);
62 let _b = swap(&mut _y, &mut _z) == swap(&mut _y, &mut _z);
63}
64
65fn canttouchthis() -> usize {
66 fn p() -> bool { true }
67 let _a = (assert!((true)) == (assert!(p())));
68 let _c = (assert!((p())) == ());
69 let _b: bool = (println!("{}", 0) == (return 0));
70}
71
72fn angrydome() {
73 loop { if break { } }
74 let mut i = 0;
75 loop { i += 1; if i == 1 { match (continue) { 1 => { }, _ => panic!("wat") } }
76 break; }
77}
78
79fn evil_lincoln() { let _evil = println!("lincoln"); }
80
81fn dots() {
82 assert_eq!(String::from(".................................................."),
83 format!("{:?}", .. .. .. .. .. .. .. .. .. .. .. .. ..
84 .. .. .. .. .. .. .. .. .. .. .. ..));
85}
86
87fn u8(u8: u8) {
88 if u8 != 0u8 {
89 assert_eq!(8u8, {
90 macro_rules! u8 {
91 (u8) => {
92 mod u8 {
93 pub fn u8<'u8: 'u8 + 'u8>(u8: &'u8 u8) -> &'u8 u8 {
94 "u8";
95 u8
96 }
97 }
98 };
99 }
100
101 u8!(u8);
102 let &u8: &u8 = u8::u8(&8u8);
103 crate::u8(0u8);
104 u8
105 });
106 }
107}
108
109fn fishy() {
110 assert_eq!(String::from("><>"),
111 String::<>::from::<>("><>").chars::<>().rev::<>().collect::<String>());
112}
113
114fn union() {
115 union union<'union> { union: &'union union<'union>, }
116}
117
118fn special_characters() {
119 let val = !((|(..):(_,_),__@_|__)((&*"\\",'🤔')/**/,{})=={&[..=..][..];})//
120 ;
121 assert!(!val);
122}
123
124fn punch_card() -> impl std::fmt::Debug {
125 ..=..=.. .. .. .. .. .. .. .. .. .. .. ..=.. ..
126 ..=.. ..=.. .. .. .. .. .. .. .. .. ..=..=..=..
127 ..=.. ..=.. ..=.. ..=.. .. ..=..=.. .. ..=.. ..
128 ..=..=.. .. ..=.. ..=.. ..=.. .. .. .. ..=.. ..
129 ..=.. ..=.. ..=.. ..=.. .. ..=.. .. .. ..=.. ..
130 ..=.. ..=.. ..=.. ..=.. .. .. ..=.. .. ..=.. ..
131 ..=.. ..=.. .. ..=..=.. ..=..=.. .. .. ..=.. ..
132}
133
134fn ktulhu() {
135 ;;;();;;;;;;;;()
136}
137
138pub fn main() {
139 strange();
140 funny();
141 what();
142 zombiejesus();
143 notsure();
144 canttouchthis();
145 angrydome();
146 evil_lincoln();
147 dots();
148 u8(8u8);
149 fishy();
150 union();
151 special_characters();
152 punch_card();
153 ktulhu();
154}
diff --git a/crates/syntax/test_data/parser/ok/0036_fully_qualified.rast b/crates/syntax/test_data/parser/ok/0036_fully_qualified.rast
new file mode 100644
index 000000000..c4da317b9
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0036_fully_qualified.rast
@@ -0,0 +1,92 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected]
6 [email protected] "pub"
7 [email protected] " "
8 [email protected] "fn"
9 [email protected] " "
10 [email protected]
11 [email protected] "foo"
12 [email protected]
13 [email protected] "<"
14 [email protected]
15 [email protected]
16 [email protected] "S"
17 [email protected] ":"
18 [email protected] " "
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "Iterator"
26 [email protected] ">"
27 [email protected]
28 [email protected] "("
29 [email protected] ")"
30 [email protected] " "
31 [email protected]
32 [email protected] "->"
33 [email protected] " "
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "String"
39 [email protected] "\n"
40 [email protected]
41 [email protected] "where"
42 [email protected] "\n "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "<"
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "S"
54 [email protected] " "
55 [email protected] "as"
56 [email protected] " "
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "Iterator"
62 [email protected] ">"
63 [email protected] "::"
64 [email protected]
65 [email protected]
66 [email protected] "Item"
67 [email protected] ":"
68 [email protected] " "
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected] "Eq"
76 [email protected] ","
77 [email protected] "\n"
78 [email protected]
79 [email protected] "{"
80 [email protected] "\n "
81 [email protected]
82 [email protected]
83 [email protected] "\"\""
84 [email protected] "."
85 [email protected]
86 [email protected] "to_owned"
87 [email protected]
88 [email protected] "("
89 [email protected] ")"
90 [email protected] "\n"
91 [email protected] "}"
92 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0036_fully_qualified.rs b/crates/syntax/test_data/parser/ok/0036_fully_qualified.rs
new file mode 100644
index 000000000..6da27933e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0036_fully_qualified.rs
@@ -0,0 +1,8 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/311
2
3pub fn foo<S: Iterator>() -> String
4where
5 <S as Iterator>::Item: Eq,
6{
7 "".to_owned()
8}
diff --git a/crates/syntax/test_data/parser/ok/0037_mod.rast b/crates/syntax/test_data/parser/ok/0037_mod.rast
new file mode 100644
index 000000000..1d5d94bde
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0037_mod.rast
@@ -0,0 +1,16 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected] "//! docs"
6 [email protected] "\n"
7 [email protected] "// non-docs"
8 [email protected] "\n"
9 [email protected] "mod"
10 [email protected] " "
11 [email protected]
12 [email protected] "foo"
13 [email protected] " "
14 [email protected]
15 [email protected] "{"
16 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0037_mod.rs b/crates/syntax/test_data/parser/ok/0037_mod.rs
new file mode 100644
index 000000000..7e5a1b835
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0037_mod.rs
@@ -0,0 +1,5 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/357
2
3//! docs
4// non-docs
5mod foo {} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0038_where_pred_type.rast b/crates/syntax/test_data/parser/ok/0038_where_pred_type.rast
new file mode 100644
index 000000000..22168eaf1
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0038_where_pred_type.rast
@@ -0,0 +1,42 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "test"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "where"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected] "("
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "u64"
22 [email protected] ","
23 [email protected] " "
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected]
28 [email protected] "u64"
29 [email protected] ")"
30 [email protected] ":"
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "Foo"
39 [email protected] " "
40 [email protected]
41 [email protected] "{"
42 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0038_where_pred_type.rs b/crates/syntax/test_data/parser/ok/0038_where_pred_type.rs
new file mode 100644
index 000000000..8bfc341a5
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0038_where_pred_type.rs
@@ -0,0 +1 @@
fn test() where (u64, u64): Foo {} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rast b/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rast
new file mode 100644
index 000000000..68a366354
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rast
@@ -0,0 +1,15 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "r#foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n"
14 [email protected] "}"
15 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rs b/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rs
new file mode 100644
index 000000000..8380d1e79
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0039_raw_fn_item.rs
@@ -0,0 +1,2 @@
1fn r#foo() {
2}
diff --git a/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rast b/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rast
new file mode 100644
index 000000000..8cfc14f49
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rast
@@ -0,0 +1,22 @@
1[email protected]
2 [email protected]
3 [email protected] "struct"
4 [email protected] " "
5 [email protected]
6 [email protected] "S"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected]
13 [email protected] "r#foo"
14 [email protected] ":"
15 [email protected] " "
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "u32"
21 [email protected] "\n"
22 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rs b/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rs
new file mode 100644
index 000000000..098a60a72
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0040_raw_struct_item_field.rs
@@ -0,0 +1,3 @@
1struct S {
2 r#foo: u32
3} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0041_raw_keywords.rast b/crates/syntax/test_data/parser/ok/0041_raw_keywords.rast
new file mode 100644
index 000000000..4035aef6f
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0041_raw_keywords.rast
@@ -0,0 +1,49 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "let"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "r#struct"
20 [email protected] " "
21 [email protected] "="
22 [email protected] " "
23 [email protected]
24 [email protected] "92"
25 [email protected] ";"
26 [email protected] " "
27 [email protected]
28 [email protected] "let"
29 [email protected] " "
30 [email protected]
31 [email protected]
32 [email protected] "r#trait"
33 [email protected] " "
34 [email protected] "="
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "r#struct"
42 [email protected] " "
43 [email protected] "*"
44 [email protected] " "
45 [email protected]
46 [email protected] "2"
47 [email protected] ";"
48 [email protected] " "
49 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0041_raw_keywords.rs b/crates/syntax/test_data/parser/ok/0041_raw_keywords.rs
new file mode 100644
index 000000000..d59a6d347
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0041_raw_keywords.rs
@@ -0,0 +1 @@
fn foo() { let r#struct = 92; let r#trait = r#struct * 2; } \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rast b/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rast
new file mode 100644
index 000000000..e71e069f1
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rast
@@ -0,0 +1,123 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected] "struct"
6 [email protected] " "
7 [email protected]
8 [email protected] "Foo"
9 [email protected] ";"
10 [email protected] "\n\n"
11 [email protected]
12 [email protected] "impl"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "Foo"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected]
24 [email protected] "fn"
25 [email protected] " "
26 [email protected]
27 [email protected] "bar"
28 [email protected]
29 [email protected] "("
30 [email protected] ")"
31 [email protected] " "
32 [email protected]
33 [email protected] "->"
34 [email protected] " "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected] "bool"
40 [email protected] " "
41 [email protected]
42 [email protected] "{"
43 [email protected] "\n "
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "unimplemented"
49 [email protected] "!"
50 [email protected]
51 [email protected] "("
52 [email protected] ")"
53 [email protected] "\n "
54 [email protected] "}"
55 [email protected] "\n"
56 [email protected] "}"
57 [email protected] "\n\n"
58 [email protected]
59 [email protected] "fn"
60 [email protected] " "
61 [email protected]
62 [email protected] "baz"
63 [email protected]
64 [email protected] "("
65 [email protected]
66 [email protected]
67 [email protected] "_"
68 [email protected] ":"
69 [email protected] " "
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected]
74 [email protected] "bool"
75 [email protected] ")"
76 [email protected] " "
77 [email protected]
78 [email protected] "{"
79 [email protected] "}"
80 [email protected] "\n\n"
81 [email protected]
82 [email protected] "fn"
83 [email protected] " "
84 [email protected]
85 [email protected] "main"
86 [email protected]
87 [email protected] "("
88 [email protected] ")"
89 [email protected] " "
90 [email protected]
91 [email protected] "{"
92 [email protected] "\n "
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected] "baz"
99 [email protected]
100 [email protected] "("
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected] "<"
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected] "Foo"
112 [email protected] ">"
113 [email protected] "::"
114 [email protected]
115 [email protected]
116 [email protected] "bar"
117 [email protected]
118 [email protected] "("
119 [email protected] ")"
120 [email protected] ")"
121 [email protected] "\n"
122 [email protected] "}"
123 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rs b/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rs
new file mode 100644
index 000000000..6c02e65ed
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0042_ufcs_call_list.rs
@@ -0,0 +1,15 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/596
2
3struct Foo;
4
5impl Foo {
6 fn bar() -> bool {
7 unimplemented!()
8 }
9}
10
11fn baz(_: bool) {}
12
13fn main() {
14 baz(<Foo>::bar())
15}
diff --git a/crates/syntax/test_data/parser/ok/0043_complex_assignment.rast b/crates/syntax/test_data/parser/ok/0043_complex_assignment.rast
new file mode 100644
index 000000000..adc4a22e9
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0043_complex_assignment.rast
@@ -0,0 +1,109 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected] "struct"
6 [email protected] " "
7 [email protected]
8 [email protected] "Repr"
9 [email protected] " "
10 [email protected]
11 [email protected] "{"
12 [email protected] " "
13 [email protected]
14 [email protected]
15 [email protected] "raw"
16 [email protected] ":"
17 [email protected] " "
18 [email protected]
19 [email protected] "["
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "u8"
25 [email protected] ";"
26 [email protected] " "
27 [email protected]
28 [email protected] "1"
29 [email protected] "]"
30 [email protected] " "
31 [email protected] "}"
32 [email protected] "\n\n"
33 [email protected]
34 [email protected] "fn"
35 [email protected] " "
36 [email protected]
37 [email protected] "abc"
38 [email protected]
39 [email protected] "("
40 [email protected] ")"
41 [email protected] " "
42 [email protected]
43 [email protected] "{"
44 [email protected] "\n "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "Repr"
54 [email protected] " "
55 [email protected]
56 [email protected] "{"
57 [email protected] " "
58 [email protected]
59 [email protected]
60 [email protected] "raw"
61 [email protected] ":"
62 [email protected] " "
63 [email protected]
64 [email protected] "["
65 [email protected]
66 [email protected] "0"
67 [email protected] "]"
68 [email protected] " "
69 [email protected] "}"
70 [email protected] "."
71 [email protected]
72 [email protected] "raw"
73 [email protected] "["
74 [email protected]
75 [email protected] "0"
76 [email protected] "]"
77 [email protected] " "
78 [email protected] "="
79 [email protected] " "
80 [email protected]
81 [email protected] "0"
82 [email protected] ";"
83 [email protected] "\n "
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "Repr"
91 [email protected]
92 [email protected] "{"
93 [email protected]
94 [email protected]
95 [email protected] "raw"
96 [email protected] ":"
97 [email protected]
98 [email protected] "["
99 [email protected]
100 [email protected] "0"
101 [email protected] "]"
102 [email protected] "}"
103 [email protected]
104 [email protected] "("
105 [email protected] ")"
106 [email protected] ";"
107 [email protected] "\n"
108 [email protected] "}"
109 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0043_complex_assignment.rs b/crates/syntax/test_data/parser/ok/0043_complex_assignment.rs
new file mode 100644
index 000000000..7e4a28bf7
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0043_complex_assignment.rs
@@ -0,0 +1,8 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/674
2
3struct Repr { raw: [u8; 1] }
4
5fn abc() {
6 Repr { raw: [0] }.raw[0] = 0;
7 Repr{raw:[0]}();
8}
diff --git a/crates/syntax/test_data/parser/ok/0044_let_attrs.rast b/crates/syntax/test_data/parser/ok/0044_let_attrs.rast
new file mode 100644
index 000000000..af44a4dbe
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0044_let_attrs.rast
@@ -0,0 +1,75 @@
1[email protected]
2 [email protected]
3 [email protected] "// https://github.com ..."
4 [email protected] "\n"
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "main"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "\n "
16 [email protected]
17 [email protected]
18 [email protected] "#"
19 [email protected] "["
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected] "cfg"
24 [email protected]
25 [email protected] "("
26 [email protected] "feature"
27 [email protected] " "
28 [email protected] "="
29 [email protected] " "
30 [email protected] "\"backtrace\""
31 [email protected] ")"
32 [email protected] "]"
33 [email protected] "\n "
34 [email protected] "let"
35 [email protected] " "
36 [email protected]
37 [email protected]
38 [email protected] "exit_code"
39 [email protected] " "
40 [email protected] "="
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "panic"
49 [email protected] "::"
50 [email protected]
51 [email protected]
52 [email protected] "catch_unwind"
53 [email protected]
54 [email protected] "("
55 [email protected]
56 [email protected] "move"
57 [email protected] " "
58 [email protected]
59 [email protected] "|"
60 [email protected] "|"
61 [email protected] " "
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected] "main"
68 [email protected]
69 [email protected] "("
70 [email protected] ")"
71 [email protected] ")"
72 [email protected] ";"
73 [email protected] "\n"
74 [email protected] "}"
75 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0044_let_attrs.rs b/crates/syntax/test_data/parser/ok/0044_let_attrs.rs
new file mode 100644
index 000000000..325a97aeb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0044_let_attrs.rs
@@ -0,0 +1,5 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/677
2fn main() {
3 #[cfg(feature = "backtrace")]
4 let exit_code = panic::catch_unwind(move || main());
5}
diff --git a/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rast b/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rast
new file mode 100644
index 000000000..0ac56df6d
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rast
@@ -0,0 +1,177 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "block"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "#"
16 [email protected] "!"
17 [email protected] "["
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected] "doc"
22 [email protected]
23 [email protected] "("
24 [email protected] "\"Inner attributes all ..."
25 [email protected] ")"
26 [email protected] "]"
27 [email protected] "\n "
28 [email protected] "//! As are ModuleDoc ..."
29 [email protected] "\n "
30 [email protected]
31 [email protected]
32 [email protected] "{"
33 [email protected] "\n "
34 [email protected]
35 [email protected] "#"
36 [email protected] "!"
37 [email protected] "["
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "doc"
42 [email protected]
43 [email protected] "("
44 [email protected] "\"Inner attributes are ..."
45 [email protected] ")"
46 [email protected] "]"
47 [email protected] "\n "
48 [email protected]
49 [email protected] "#"
50 [email protected] "!"
51 [email protected] "["
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "doc"
56 [email protected]
57 [email protected] "("
58 [email protected] "\"Being validated is n ..."
59 [email protected] ")"
60 [email protected] "]"
61 [email protected] "\n "
62 [email protected] "//! As are ModuleDoc ..."
63 [email protected] "\n "
64 [email protected] "}"
65 [email protected] ";"
66 [email protected] "\n "
67 [email protected]
68 [email protected] "{"
69 [email protected] "\n "
70 [email protected]
71 [email protected] "#"
72 [email protected] "!"
73 [email protected] "["
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "doc"
78 [email protected]
79 [email protected] "("
80 [email protected] "\"Inner attributes are ..."
81 [email protected] ")"
82 [email protected] "]"
83 [email protected] "\n "
84 [email protected] "//! As are ModuleDoc ..."
85 [email protected] "\n "
86 [email protected] "}"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n\n"
90 [email protected] "// https://github.com ..."
91 [email protected] "\n"
92 [email protected]
93 [email protected] "impl"
94 [email protected] " "
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected]
99 [email protected] "Whatever"
100 [email protected] " "
101 [email protected]
102 [email protected] "{"
103 [email protected] "\n "
104 [email protected]
105 [email protected] "fn"
106 [email protected] " "
107 [email protected]
108 [email protected] "salsa_event"
109 [email protected]
110 [email protected] "("
111 [email protected]
112 [email protected] "&"
113 [email protected] "self"
114 [email protected] ","
115 [email protected] " "
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected] "event_fn"
120 [email protected] ":"
121 [email protected] " "
122 [email protected]
123 [email protected] "impl"
124 [email protected] " "
125 [email protected]
126 [email protected]
127 [email protected]
128 [email protected]
129 [email protected]
130 [email protected]
131 [email protected] "Fn"
132 [email protected]
133 [email protected] "("
134 [email protected] ")"
135 [email protected] " "
136 [email protected]
137 [email protected] "->"
138 [email protected] " "
139 [email protected]
140 [email protected]
141 [email protected]
142 [email protected]
143 [email protected] "Event"
144 [email protected]
145 [email protected] "<"
146 [email protected]
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected] "Self"
152 [email protected] ">"
153 [email protected] ")"
154 [email protected] " "
155 [email protected]
156 [email protected] "{"
157 [email protected] "\n "
158 [email protected]
159 [email protected] "#"
160 [email protected] "!"
161 [email protected] "["
162 [email protected]
163 [email protected]
164 [email protected]
165 [email protected] "allow"
166 [email protected]
167 [email protected] "("
168 [email protected] "unused_variables"
169 [email protected] ")"
170 [email protected] "]"
171 [email protected] " "
172 [email protected] "// this is `inner_at ..."
173 [email protected] "\n "
174 [email protected] "}"
175 [email protected] "\n"
176 [email protected] "}"
177 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rs b/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rs
new file mode 100644
index 000000000..88df8138e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0045_block_inner_attrs.rs
@@ -0,0 +1,20 @@
1fn block() {
2 #![doc("Inner attributes allowed here")]
3 //! As are ModuleDoc style comments
4 {
5 #![doc("Inner attributes are allowed in blocks used as statements")]
6 #![doc("Being validated is not affected by duplcates")]
7 //! As are ModuleDoc style comments
8 };
9 {
10 #![doc("Inner attributes are allowed in blocks when they are the last statement of another block")]
11 //! As are ModuleDoc style comments
12 }
13}
14
15// https://github.com/rust-analyzer/rust-analyzer/issues/689
16impl Whatever {
17 fn salsa_event(&self, event_fn: impl Fn() -> Event<Self>) {
18 #![allow(unused_variables)] // this is `inner_attr` of the block
19 }
20}
diff --git a/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
new file mode 100644
index 000000000..37594769a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
@@ -0,0 +1,28 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected] "\"C\""
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected] "//! This is a doc com ..."
12 [email protected] "\n "
13 [email protected]
14 [email protected] "#"
15 [email protected] "!"
16 [email protected] "["
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "doc"
21 [email protected]
22 [email protected] "("
23 [email protected] "\"This is also a doc c ..."
24 [email protected] ")"
25 [email protected] "]"
26 [email protected] "\n"
27 [email protected] "}"
28 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rs b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rs
new file mode 100644
index 000000000..fe67e2df4
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rs
@@ -0,0 +1,4 @@
1extern "C" {
2 //! This is a doc comment
3 #![doc("This is also a doc comment")]
4}
diff --git a/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast b/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
new file mode 100644
index 000000000..4f8dff909
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
@@ -0,0 +1,320 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "main"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "\n "
16 [email protected]
17 [email protected]
18 [email protected] "match"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "Some"
26 [email protected]
27 [email protected] "("
28 [email protected]
29 [email protected] "-"
30 [email protected]
31 [email protected] "1"
32 [email protected] ")"
33 [email protected] " "
34 [email protected]
35 [email protected] "{"
36 [email protected] "\n "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected] "Some"
43 [email protected] "("
44 [email protected]
45 [email protected] "-"
46 [email protected]
47 [email protected] "1"
48 [email protected] ")"
49 [email protected] " "
50 [email protected] "=>"
51 [email protected] " "
52 [email protected]
53 [email protected] "("
54 [email protected] ")"
55 [email protected] ","
56 [email protected] "\n "
57 [email protected]
58 [email protected]
59 [email protected] "_"
60 [email protected] " "
61 [email protected] "=>"
62 [email protected] " "
63 [email protected]
64 [email protected] "("
65 [email protected] ")"
66 [email protected] ","
67 [email protected] "\n "
68 [email protected] "}"
69 [email protected] "\n\n "
70 [email protected]
71 [email protected]
72 [email protected] "match"
73 [email protected] " "
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "Some"
80 [email protected]
81 [email protected] "("
82 [email protected]
83 [email protected] "("
84 [email protected]
85 [email protected] "-"
86 [email protected]
87 [email protected] "1"
88 [email protected] ","
89 [email protected] " "
90 [email protected]
91 [email protected] "-"
92 [email protected]
93 [email protected] "1"
94 [email protected] ")"
95 [email protected] ")"
96 [email protected] " "
97 [email protected]
98 [email protected] "{"
99 [email protected] "\n "
100 [email protected]
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected] "Some"
106 [email protected] "("
107 [email protected]
108 [email protected] "("
109 [email protected]
110 [email protected] "-"
111 [email protected]
112 [email protected] "1"
113 [email protected] ","
114 [email protected] " "
115 [email protected]
116 [email protected] "-"
117 [email protected]
118 [email protected] "1"
119 [email protected] ")"
120 [email protected] ")"
121 [email protected] " "
122 [email protected] "=>"
123 [email protected] " "
124 [email protected]
125 [email protected] "("
126 [email protected] ")"
127 [email protected] ","
128 [email protected] "\n "
129 [email protected]
130 [email protected]
131 [email protected] "_"
132 [email protected] " "
133 [email protected] "=>"
134 [email protected] " "
135 [email protected]
136 [email protected] "("
137 [email protected] ")"
138 [email protected] ","
139 [email protected] "\n "
140 [email protected] "}"
141 [email protected] "\n\n "
142 [email protected]
143 [email protected]
144 [email protected] "match"
145 [email protected] " "
146 [email protected]
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected]
152 [email protected] "A"
153 [email protected] "::"
154 [email protected]
155 [email protected]
156 [email protected] "B"
157 [email protected]
158 [email protected] "("
159 [email protected]
160 [email protected] "-"
161 [email protected]
162 [email protected] "1"
163 [email protected] ","
164 [email protected] " "
165 [email protected]
166 [email protected] "-"
167 [email protected]
168 [email protected] "1"
169 [email protected] ")"
170 [email protected] " "
171 [email protected]
172 [email protected] "{"
173 [email protected] "\n "
174 [email protected]
175 [email protected]
176 [email protected]
177 [email protected]
178 [email protected]
179 [email protected]
180 [email protected] "A"
181 [email protected] "::"
182 [email protected]
183 [email protected]
184 [email protected] "B"
185 [email protected] "("
186 [email protected]
187 [email protected] "-"
188 [email protected]
189 [email protected] "1"
190 [email protected] ","
191 [email protected] " "
192 [email protected]
193 [email protected] "-"
194 [email protected]
195 [email protected] "1"
196 [email protected] ")"
197 [email protected] " "
198 [email protected] "=>"
199 [email protected] " "
200 [email protected]
201 [email protected] "("
202 [email protected] ")"
203 [email protected] ","
204 [email protected] "\n "
205 [email protected]
206 [email protected]
207 [email protected] "_"
208 [email protected] " "
209 [email protected] "=>"
210 [email protected] " "
211 [email protected]
212 [email protected] "("
213 [email protected] ")"
214 [email protected] ","
215 [email protected] "\n "
216 [email protected] "}"
217 [email protected] "\n\n "
218 [email protected]
219 [email protected] "if"
220 [email protected] " "
221 [email protected]
222 [email protected] "let"
223 [email protected] " "
224 [email protected]
225 [email protected]
226 [email protected]
227 [email protected]
228 [email protected] "Some"
229 [email protected] "("
230 [email protected]
231 [email protected] "-"
232 [email protected]
233 [email protected] "1"
234 [email protected] ")"
235 [email protected] " "
236 [email protected] "="
237 [email protected] " "
238 [email protected]
239 [email protected]
240 [email protected]
241 [email protected]
242 [email protected]
243 [email protected] "Some"
244 [email protected]
245 [email protected] "("
246 [email protected]
247 [email protected] "-"
248 [email protected]
249 [email protected] "1"
250 [email protected] ")"
251 [email protected] " "
252 [email protected]
253 [email protected] "{"
254 [email protected] "\n "
255 [email protected] "}"
256 [email protected] "\n"
257 [email protected] "}"
258 [email protected] "\n\n"
259 [email protected]
260 [email protected] "enum"
261 [email protected] " "
262 [email protected]
263 [email protected] "A"
264 [email protected] " "
265 [email protected]
266 [email protected] "{"
267 [email protected] "\n "
268 [email protected]
269 [email protected]
270 [email protected] "B"
271 [email protected]
272 [email protected] "("
273 [email protected]
274 [email protected]
275 [email protected]
276 [email protected]
277 [email protected]
278 [email protected] "i8"
279 [email protected] ","
280 [email protected] " "
281 [email protected]
282 [email protected]
283 [email protected]
284 [email protected]
285 [email protected]
286 [email protected] "i8"
287 [email protected] ")"
288 [email protected] "\n"
289 [email protected] "}"
290 [email protected] "\n\n"
291 [email protected]
292 [email protected] "fn"
293 [email protected] " "
294 [email protected]
295 [email protected] "foo"
296 [email protected]
297 [email protected] "("
298 [email protected]
299 [email protected]
300 [email protected]
301 [email protected] "-"
302 [email protected]
303 [email protected] "128"
304 [email protected] "..="
305 [email protected]
306 [email protected]
307 [email protected] "127"
308 [email protected] ":"
309 [email protected] " "
310 [email protected]
311 [email protected]
312 [email protected]
313 [email protected]
314 [email protected] "i8"
315 [email protected] ")"
316 [email protected] " "
317 [email protected]
318 [email protected] "{"
319 [email protected] "}"
320 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rs b/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rs
new file mode 100644
index 000000000..bbd6b0f6e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rs
@@ -0,0 +1,27 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/972
2
3fn main() {
4 match Some(-1) {
5 Some(-1) => (),
6 _ => (),
7 }
8
9 match Some((-1, -1)) {
10 Some((-1, -1)) => (),
11 _ => (),
12 }
13
14 match A::B(-1, -1) {
15 A::B(-1, -1) => (),
16 _ => (),
17 }
18
19 if let Some(-1) = Some(-1) {
20 }
21}
22
23enum A {
24 B(i8, i8)
25}
26
27fn foo(-128..=127: i8) {}
diff --git a/crates/syntax/test_data/parser/ok/0048_compound_assignment.rast b/crates/syntax/test_data/parser/ok/0048_compound_assignment.rast
new file mode 100644
index 000000000..eaab47843
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0048_compound_assignment.rast
@@ -0,0 +1,200 @@
1[email protected]
2 [email protected] "// https://github.com ..."
3 [email protected] "\n\n"
4 [email protected]
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "compound_assignment"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "\n "
16 [email protected]
17 [email protected] "let"
18 [email protected] " "
19 [email protected]
20 [email protected] "mut"
21 [email protected] " "
22 [email protected]
23 [email protected] "a"
24 [email protected] " "
25 [email protected] "="
26 [email protected] " "
27 [email protected]
28 [email protected] "0"
29 [email protected] ";"
30 [email protected] "\n "
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected] "a"
38 [email protected] " "
39 [email protected] "+="
40 [email protected] " "
41 [email protected]
42 [email protected] "1"
43 [email protected] ";"
44 [email protected] "\n "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "a"
52 [email protected] " "
53 [email protected] "-="
54 [email protected] " "
55 [email protected]
56 [email protected] "2"
57 [email protected] ";"
58 [email protected] "\n "
59 [email protected]
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected] "a"
66 [email protected] " "
67 [email protected] "*="
68 [email protected] " "
69 [email protected]
70 [email protected] "3"
71 [email protected] ";"
72 [email protected] "\n "
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "a"
80 [email protected] " "
81 [email protected] "%="
82 [email protected] " "
83 [email protected]
84 [email protected] "4"
85 [email protected] ";"
86 [email protected] "\n "
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected]
93 [email protected] "a"
94 [email protected] " "
95 [email protected] "/="
96 [email protected] " "
97 [email protected]
98 [email protected] "5"
99 [email protected] ";"
100 [email protected] "\n "
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected] "a"
108 [email protected] " "
109 [email protected] "|="
110 [email protected] " "
111 [email protected]
112 [email protected] "6"
113 [email protected] ";"
114 [email protected] "\n "
115 [email protected]
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected] "a"
122 [email protected] " "
123 [email protected] "&="
124 [email protected] " "
125 [email protected]
126 [email protected] "7"
127 [email protected] ";"
128 [email protected] "\n "
129 [email protected]
130 [email protected]
131 [email protected]
132 [email protected]
133 [email protected]
134 [email protected]
135 [email protected] "a"
136 [email protected] " "
137 [email protected] "^="
138 [email protected] " "
139 [email protected]
140 [email protected] "8"
141 [email protected] ";"
142 [email protected] "\n "
143 [email protected]
144 [email protected]
145 [email protected]
146 [email protected]
147 [email protected]
148 [email protected]
149 [email protected] "a"
150 [email protected] " "
151 [email protected] "<="
152 [email protected] " "
153 [email protected]
154 [email protected] "9"
155 [email protected] ";"
156 [email protected] "\n "
157 [email protected]
158 [email protected]
159 [email protected]
160 [email protected]
161 [email protected]
162 [email protected]
163 [email protected] "a"
164 [email protected] " "
165 [email protected] ">="
166 [email protected] " "
167 [email protected]
168 [email protected] "10"
169 [email protected] ";"
170 [email protected] "\n "
171 [email protected]
172 [email protected]
173 [email protected]
174 [email protected]
175 [email protected]
176 [email protected]
177 [email protected] "a"
178 [email protected] " "
179 [email protected] ">>="
180 [email protected] " "
181 [email protected]
182 [email protected] "11"
183 [email protected] ";"
184 [email protected] "\n "
185 [email protected]
186 [email protected]
187 [email protected]
188 [email protected]
189 [email protected]
190 [email protected]
191 [email protected] "a"
192 [email protected] " "
193 [email protected] "<<="
194 [email protected] " "
195 [email protected]
196 [email protected] "12"
197 [email protected] ";"
198 [email protected] "\n"
199 [email protected] "}"
200 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0048_compound_assignment.rs b/crates/syntax/test_data/parser/ok/0048_compound_assignment.rs
new file mode 100644
index 000000000..871720a49
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0048_compound_assignment.rs
@@ -0,0 +1,17 @@
1// https://github.com/rust-analyzer/rust-analyzer/pull/983
2
3fn compound_assignment() {
4 let mut a = 0;
5 a += 1;
6 a -= 2;
7 a *= 3;
8 a %= 4;
9 a /= 5;
10 a |= 6;
11 a &= 7;
12 a ^= 8;
13 a <= 9;
14 a >= 10;
15 a >>= 11;
16 a <<= 12;
17}
diff --git a/crates/syntax/test_data/parser/ok/0049_async_block.rast b/crates/syntax/test_data/parser/ok/0049_async_block.rast
new file mode 100644
index 000000000..57ecad3cf
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0049_async_block.rast
@@ -0,0 +1,35 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected] "async"
17 [email protected] " "
18 [email protected]
19 [email protected] "{"
20 [email protected] "}"
21 [email protected] ";"
22 [email protected] "\n "
23 [email protected]
24 [email protected]
25 [email protected] "async"
26 [email protected] " "
27 [email protected] "move"
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "}"
32 [email protected] ";"
33 [email protected] "\n"
34 [email protected] "}"
35 [email protected] "\n\n"
diff --git a/crates/syntax/test_data/parser/ok/0049_async_block.rs b/crates/syntax/test_data/parser/ok/0049_async_block.rs
new file mode 100644
index 000000000..4781b3225
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0049_async_block.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 async {};
3 async move {};
4}
5
diff --git a/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rast b/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rast
new file mode 100644
index 000000000..c7ce12e93
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rast
@@ -0,0 +1,90 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "x"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected] "impl"
17 [email protected] " "
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "std"
27 [email protected] "::"
28 [email protected]
29 [email protected]
30 [email protected] "future"
31 [email protected] "::"
32 [email protected]
33 [email protected]
34 [email protected] "Future"
35 [email protected]
36 [email protected] "<"
37 [email protected]
38 [email protected]
39 [email protected] "Output"
40 [email protected] " "
41 [email protected] "="
42 [email protected] " "
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected] "i32"
48 [email protected] ">"
49 [email protected] ")"
50 [email protected] " "
51 [email protected]
52 [email protected] "{"
53 [email protected] "}"
54 [email protected] "\n\n"
55 [email protected]
56 [email protected] "fn"
57 [email protected] " "
58 [email protected]
59 [email protected] "main"
60 [email protected]
61 [email protected] "("
62 [email protected] ")"
63 [email protected] " "
64 [email protected]
65 [email protected] "{"
66 [email protected] "\n "
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected]
71 [email protected]
72 [email protected] "foo"
73 [email protected]
74 [email protected] "("
75 [email protected]
76 [email protected] "async"
77 [email protected] " "
78 [email protected] "move"
79 [email protected] " "
80 [email protected]
81 [email protected] "{"
82 [email protected] " "
83 [email protected]
84 [email protected] "12"
85 [email protected] " "
86 [email protected] "}"
87 [email protected] ")"
88 [email protected] "\n"
89 [email protected] "}"
90 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rs b/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rs
new file mode 100644
index 000000000..ec4612cff
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0050_async_block_as_argument.rs
@@ -0,0 +1,5 @@
1fn foo(x: impl std::future::Future<Output = i32>) {}
2
3fn main() {
4 foo(async move { 12 })
5}
diff --git a/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
new file mode 100644
index 000000000..d4f05f279
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
@@ -0,0 +1,508 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "g1"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected] "#"
11 [email protected] "["
12 [email protected]
13 [email protected]
14 [email protected]
15 [email protected] "attr1"
16 [email protected] "]"
17 [email protected] " "
18 [email protected]
19 [email protected] "#"
20 [email protected] "["
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected] "attr2"
25 [email protected] "]"
26 [email protected] " "
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected] "pat"
31 [email protected] ":"
32 [email protected] " "
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected] "Type"
38 [email protected] ")"
39 [email protected] " "
40 [email protected]
41 [email protected] "{"
42 [email protected] "}"
43 [email protected] "\n"
44 [email protected]
45 [email protected] "fn"
46 [email protected] " "
47 [email protected]
48 [email protected] "g2"
49 [email protected]
50 [email protected] "("
51 [email protected]
52 [email protected] "#"
53 [email protected] "["
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected] "attr1"
58 [email protected] "]"
59 [email protected] " "
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected] "x"
64 [email protected] ":"
65 [email protected] " "
66 [email protected]
67 [email protected]
68 [email protected]
69 [email protected]
70 [email protected] "u8"
71 [email protected] ")"
72 [email protected] " "
73 [email protected]
74 [email protected] "{"
75 [email protected] "}"
76 [email protected] "\n\n"
77 [email protected]
78 [email protected]
79 [email protected] "extern"
80 [email protected] " "
81 [email protected] "\"C\""
82 [email protected] " "
83 [email protected]
84 [email protected] "{"
85 [email protected] " "
86 [email protected]
87 [email protected] "fn"
88 [email protected] " "
89 [email protected]
90 [email protected] "printf"
91 [email protected]
92 [email protected] "("
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected] "format"
97 [email protected] ":"
98 [email protected] " "
99 [email protected]
100 [email protected] "*"
101 [email protected] "const"
102 [email protected] " "
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected] "i8"
108 [email protected] ","
109 [email protected] " "
110 [email protected]
111 [email protected] "#"
112 [email protected] "["
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected] "attr"
117 [email protected] "]"
118 [email protected] " "
119 [email protected]
120 [email protected] "..."
121 [email protected] ")"
122 [email protected] " "
123 [email protected]
124 [email protected] "->"
125 [email protected] " "
126 [email protected]
127 [email protected]
128 [email protected]
129 [email protected]
130 [email protected] "i32"
131 [email protected] ";"
132 [email protected] " "
133 [email protected] "}"
134 [email protected] "\n\n"
135 [email protected]
136 [email protected] "fn"
137 [email protected] " "
138 [email protected]
139 [email protected] "foo"
140 [email protected]
141 [email protected] "<"
142 [email protected]
143 [email protected]
144 [email protected] "F"
145 [email protected] ":"
146 [email protected] " "
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected]
152 [email protected]
153 [email protected] "FnMut"
154 [email protected]
155 [email protected] "("
156 [email protected]
157 [email protected] "#"
158 [email protected] "["
159 [email protected]
160 [email protected]
161 [email protected]
162 [email protected] "attr"
163 [email protected] "]"
164 [email protected] " "
165 [email protected]
166 [email protected]
167 [email protected] "&"
168 [email protected] "mut"
169 [email protected] " "
170 [email protected]
171 [email protected]
172 [email protected]
173 [email protected]
174 [email protected] "Foo"
175 [email protected]
176 [email protected] "<"
177 [email protected]
178 [email protected] "\'a"
179 [email protected] ">"
180 [email protected] ")"
181 [email protected] ">"
182 [email protected]
183 [email protected] "("
184 [email protected] ")"
185 [email protected]
186 [email protected] "{"
187 [email protected] "}"
188 [email protected] "\n\n"
189 [email protected]
190 [email protected] "trait"
191 [email protected] " "
192 [email protected]
193 [email protected] "Foo"
194 [email protected] " "
195 [email protected]
196 [email protected] "{"
197 [email protected] "\n "
198 [email protected]
199 [email protected] "fn"
200 [email protected] " "
201 [email protected]
202 [email protected] "bar"
203 [email protected]
204 [email protected] "("
205 [email protected]
206 [email protected] "#"
207 [email protected] "["
208 [email protected]
209 [email protected]
210 [email protected]
211 [email protected] "attr"
212 [email protected] "]"
213 [email protected] " "
214 [email protected]
215 [email protected]
216 [email protected] "_"
217 [email protected] ":"
218 [email protected] " "
219 [email protected]
220 [email protected]
221 [email protected]
222 [email protected]
223 [email protected] "u64"
224 [email protected] ","
225 [email protected] " "
226 [email protected]
227 [email protected] "#"
228 [email protected] " "
229 [email protected] "["
230 [email protected]
231 [email protected]
232 [email protected]
233 [email protected] "attr"
234 [email protected] "]"
235 [email protected] " "
236 [email protected]
237 [email protected]
238 [email protected] "mut"
239 [email protected] " "
240 [email protected]
241 [email protected] "x"
242 [email protected] ":"
243 [email protected] " "
244 [email protected]
245 [email protected]
246 [email protected]
247 [email protected]
248 [email protected] "i32"
249 [email protected] ")"
250 [email protected] ";"
251 [email protected] "\n"
252 [email protected] "}"
253 [email protected] "\n\n"
254 [email protected]
255 [email protected] "impl"
256 [email protected] " "
257 [email protected]
258 [email protected]
259 [email protected]
260 [email protected]
261 [email protected] "S"
262 [email protected] " "
263 [email protected]
264 [email protected] "{"
265 [email protected] "\n "
266 [email protected]
267 [email protected] "fn"
268 [email protected] " "
269 [email protected]
270 [email protected] "f"
271 [email protected]
272 [email protected] "("
273 [email protected]
274 [email protected] "#"
275 [email protected] "["
276 [email protected]
277 [email protected]
278 [email protected]
279 [email protected] "must_use"
280 [email protected] "]"
281 [email protected] " "
282 [email protected]
283 [email protected] "self"
284 [email protected] ")"
285 [email protected] " "
286 [email protected]
287 [email protected] "{"
288 [email protected] "}"
289 [email protected] "\n "
290 [email protected]
291 [email protected] "fn"
292 [email protected] " "
293 [email protected]
294 [email protected] "g1"
295 [email protected]
296 [email protected] "("
297 [email protected]
298 [email protected] "#"
299 [email protected] "["
300 [email protected]
301 [email protected]
302 [email protected]
303 [email protected] "attr"
304 [email protected] "]"
305 [email protected] " "
306 [email protected]
307 [email protected] "self"
308 [email protected] ")"
309 [email protected] " "
310 [email protected]
311 [email protected] "{"
312 [email protected] "}"
313 [email protected] "\n "
314 [email protected]
315 [email protected] "fn"
316 [email protected] " "
317 [email protected]
318 [email protected] "g2"
319 [email protected]
320 [email protected] "("
321 [email protected]
322 [email protected] "#"
323 [email protected] "["
324 [email protected]
325 [email protected]
326 [email protected]
327 [email protected] "attr"
328 [email protected] "]"
329 [email protected] " "
330 [email protected]
331 [email protected] "&"
332 [email protected] "self"
333 [email protected] ")"
334 [email protected] " "
335 [email protected]
336 [email protected] "{"
337 [email protected] "}"
338 [email protected] "\n "
339 [email protected]
340 [email protected] "fn"
341 [email protected] " "
342 [email protected]
343 [email protected] "g3"
344 [email protected]
345 [email protected] "<"
346 [email protected]
347 [email protected] "\'a"
348 [email protected] ">"
349 [email protected]
350 [email protected] "("
351 [email protected]
352 [email protected] "#"
353 [email protected] "["
354 [email protected]
355 [email protected]
356 [email protected]
357 [email protected] "attr"
358 [email protected] "]"
359 [email protected] " "
360 [email protected]
361 [email protected] "&"
362 [email protected] "mut"
363 [email protected] " "
364 [email protected] "self"
365 [email protected] ")"
366 [email protected] " "
367 [email protected]
368 [email protected] "{"
369 [email protected] "}"
370 [email protected] "\n "
371 [email protected]
372 [email protected] "fn"
373 [email protected] " "
374 [email protected]
375 [email protected] "g4"
376 [email protected]
377 [email protected] "<"
378 [email protected]
379 [email protected] "\'a"
380 [email protected] ">"
381 [email protected]
382 [email protected] "("
383 [email protected]
384 [email protected] "#"
385 [email protected] "["
386 [email protected]
387 [email protected]
388 [email protected]
389 [email protected] "attr"
390 [email protected] "]"
391 [email protected] " "
392 [email protected]
393 [email protected] "&"
394 [email protected] "\'a"
395 [email protected] " "
396 [email protected] "self"
397 [email protected] ")"
398 [email protected] " "
399 [email protected]
400 [email protected] "{"
401 [email protected] "}"
402 [email protected] "\n "
403 [email protected]
404 [email protected] "fn"
405 [email protected] " "
406 [email protected]
407 [email protected] "g5"
408 [email protected]
409 [email protected] "<"
410 [email protected]
411 [email protected] "\'a"
412 [email protected] ">"
413 [email protected]
414 [email protected] "("
415 [email protected]
416 [email protected] "#"
417 [email protected] "["
418 [email protected]
419 [email protected]
420 [email protected]
421 [email protected] "attr"
422 [email protected] "]"
423 [email protected] " "
424 [email protected]
425 [email protected] "&"
426 [email protected] "\'a"
427 [email protected] " "
428 [email protected] "mut"
429 [email protected] " "
430 [email protected] "self"
431 [email protected] ")"
432 [email protected] " "
433 [email protected]
434 [email protected] "{"
435 [email protected] "}"
436 [email protected] "\n "
437 [email protected]
438 [email protected] "fn"
439 [email protected] " "
440 [email protected]
441 [email protected] "c"
442 [email protected]
443 [email protected] "("
444 [email protected]
445 [email protected] "#"
446 [email protected] "["
447 [email protected]
448 [email protected]
449 [email protected]
450 [email protected] "attr"
451 [email protected] "]"
452 [email protected] " "
453 [email protected]
454 [email protected] "self"
455 [email protected] ":"
456 [email protected] " "
457 [email protected]
458 [email protected]
459 [email protected]
460 [email protected]
461 [email protected] "Self"
462 [email protected] ")"
463 [email protected] " "
464 [email protected]
465 [email protected] "{"
466 [email protected] "}"
467 [email protected] "\n "
468 [email protected]
469 [email protected] "fn"
470 [email protected] " "
471 [email protected]
472 [email protected] "d"
473 [email protected]
474 [email protected] "("
475 [email protected]
476 [email protected] "#"
477 [email protected] "["
478 [email protected]
479 [email protected]
480 [email protected]
481 [email protected] "attr"
482 [email protected] "]"
483 [email protected] " "
484 [email protected]
485 [email protected] "self"
486 [email protected] ":"
487 [email protected] " "
488 [email protected]
489 [email protected]
490 [email protected]
491 [email protected]
492 [email protected] "Rc"
493 [email protected]
494 [email protected] "<"
495 [email protected]
496 [email protected]
497 [email protected]
498 [email protected]
499 [email protected]
500 [email protected] "Self"
501 [email protected] ">"
502 [email protected] ")"
503 [email protected] " "
504 [email protected]
505 [email protected] "{"
506 [email protected] "}"
507 [email protected] "\n"
508 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rs b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rs
new file mode 100644
index 000000000..de350d858
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rs
@@ -0,0 +1,21 @@
1fn g1(#[attr1] #[attr2] pat: Type) {}
2fn g2(#[attr1] x: u8) {}
3
4extern "C" { fn printf(format: *const i8, #[attr] ...) -> i32; }
5
6fn foo<F: FnMut(#[attr] &mut Foo<'a>)>(){}
7
8trait Foo {
9 fn bar(#[attr] _: u64, # [attr] mut x: i32);
10}
11
12impl S {
13 fn f(#[must_use] self) {}
14 fn g1(#[attr] self) {}
15 fn g2(#[attr] &self) {}
16 fn g3<'a>(#[attr] &mut self) {}
17 fn g4<'a>(#[attr] &'a self) {}
18 fn g5<'a>(#[attr] &'a mut self) {}
19 fn c(#[attr] self: Self) {}
20 fn d(#[attr] self: Rc<Self>) {}
21} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0052_for_range_block.rast b/crates/syntax/test_data/parser/ok/0052_for_range_block.rast
new file mode 100644
index 000000000..350823ba3
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0052_for_range_block.rast
@@ -0,0 +1,78 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "for"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected] "_x"
20 [email protected] " "
21 [email protected] "in"
22 [email protected] " "
23 [email protected]
24 [email protected]
25 [email protected] "0"
26 [email protected] " "
27 [email protected] ".."
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected] "("
32 [email protected]
33 [email protected]
34 [email protected] "0"
35 [email protected] " "
36 [email protected] ".."
37 [email protected] " "
38 [email protected]
39 [email protected] "{"
40 [email protected]
41 [email protected]
42 [email protected] "1"
43 [email protected] " "
44 [email protected] "+"
45 [email protected] " "
46 [email protected]
47 [email protected] "2"
48 [email protected] "}"
49 [email protected] ")"
50 [email protected] "."
51 [email protected]
52 [email protected] "sum"
53 [email protected]
54 [email protected] "::"
55 [email protected] "<"
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "u32"
62 [email protected] ">"
63 [email protected]
64 [email protected] "("
65 [email protected] ")"
66 [email protected] " "
67 [email protected]
68 [email protected] "{"
69 [email protected] "\n "
70 [email protected]
71 [email protected]
72 [email protected] "break"
73 [email protected] ";"
74 [email protected] "\n "
75 [email protected] "}"
76 [email protected] "\n"
77 [email protected] "}"
78 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0052_for_range_block.rs b/crates/syntax/test_data/parser/ok/0052_for_range_block.rs
new file mode 100644
index 000000000..b51b19630
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0052_for_range_block.rs
@@ -0,0 +1,5 @@
1fn foo() {
2 for _x in 0 .. (0 .. {1 + 2}).sum::<u32>() {
3 break;
4 }
5}
diff --git a/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
new file mode 100644
index 000000000..be60f7a8e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
@@ -0,0 +1,39 @@
1[email protected]
2 [email protected]
3 [email protected] "/// Some docs"
4 [email protected] "\n"
5 [email protected]
6 [email protected] "#"
7 [email protected] "["
8 [email protected]
9 [email protected]
10 [email protected]
11 [email protected] "macro_export"
12 [email protected] "]"
13 [email protected] "\n"
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "macro_rules"
18 [email protected] "!"
19 [email protected] " "
20 [email protected]
21 [email protected] "foo"
22 [email protected] " "
23 [email protected]
24 [email protected] "{"
25 [email protected] "\n "
26 [email protected]
27 [email protected] "("
28 [email protected] ")"
29 [email protected] " "
30 [email protected] "="
31 [email protected] ">"
32 [email protected] " "
33 [email protected]
34 [email protected] "{"
35 [email protected] "}"
36 [email protected] ";"
37 [email protected] "\n"
38 [email protected] "}"
39 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rs b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rs
new file mode 100644
index 000000000..b59c23c56
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rs
@@ -0,0 +1,5 @@
1/// Some docs
2#[macro_export]
3macro_rules! foo {
4 () => {};
5}
diff --git a/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast b/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
new file mode 100644
index 000000000..f25c9ac36
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
@@ -0,0 +1,123 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "a"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "->"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "Foo"
19 [email protected]
20 [email protected] "<"
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected]
27 [email protected] "bar"
28 [email protected] "::"
29 [email protected]
30 [email protected]
31 [email protected] "Baz"
32 [email protected] ">"
33 [email protected] " "
34 [email protected]
35 [email protected] "{"
36 [email protected] "}"
37 [email protected] "\n\n"
38 [email protected]
39 [email protected] "fn"
40 [email protected] " "
41 [email protected]
42 [email protected] "b"
43 [email protected]
44 [email protected] "("
45 [email protected]
46 [email protected]
47 [email protected] "_"
48 [email protected] ":"
49 [email protected] " "
50 [email protected]
51 [email protected] "impl"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "FnMut"
60 [email protected]
61 [email protected] "("
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected] "x"
69 [email protected] "::"
70 [email protected]
71 [email protected]
72 [email protected] "Y"
73 [email protected] ")"
74 [email protected] ")"
75 [email protected] " "
76 [email protected]
77 [email protected] "{"
78 [email protected] "}"
79 [email protected] "\n\n"
80 [email protected]
81 [email protected] "fn"
82 [email protected] " "
83 [email protected]
84 [email protected] "c"
85 [email protected]
86 [email protected] "("
87 [email protected]
88 [email protected]
89 [email protected] "_"
90 [email protected] ":"
91 [email protected] " "
92 [email protected]
93 [email protected] "impl"
94 [email protected] " "
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected]
99 [email protected]
100 [email protected]
101 [email protected] "FnMut"
102 [email protected]
103 [email protected] "("
104 [email protected]
105 [email protected]
106 [email protected] "&"
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected]
111 [email protected]
112 [email protected] "x"
113 [email protected] "::"
114 [email protected]
115 [email protected]
116 [email protected] "Y"
117 [email protected] ")"
118 [email protected] ")"
119 [email protected] " "
120 [email protected]
121 [email protected] "{"
122 [email protected] "}"
123 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rs b/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rs
new file mode 100644
index 000000000..0d3f5722a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rs
@@ -0,0 +1,5 @@
1fn a() -> Foo<bar::Baz> {}
2
3fn b(_: impl FnMut(x::Y)) {}
4
5fn c(_: impl FnMut(&x::Y)) {}
diff --git a/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rast b/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rast
new file mode 100644
index 000000000..7447d516e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rast
@@ -0,0 +1,49 @@
1[email protected]
2 [email protected]
3 [email protected] "type"
4 [email protected] " "
5 [email protected]
6 [email protected] "X"
7 [email protected] " "
8 [email protected] "="
9 [email protected] " "
10 [email protected]
11 [email protected] "("
12 [email protected] ")"
13 [email protected] ";"
14 [email protected] "\n\n"
15 [email protected]
16 [email protected] "fn"
17 [email protected] " "
18 [email protected]
19 [email protected] "main"
20 [email protected]
21 [email protected] "("
22 [email protected] ")"
23 [email protected] " "
24 [email protected]
25 [email protected] "{"
26 [email protected] "\n "
27 [email protected]
28 [email protected] "let"
29 [email protected] " "
30 [email protected]
31 [email protected] "("
32 [email protected] ")"
33 [email protected] ":"
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected] "::"
38 [email protected]
39 [email protected] "X"
40 [email protected] " "
41 [email protected] "="
42 [email protected] " "
43 [email protected]
44 [email protected] "("
45 [email protected] ")"
46 [email protected] ";"
47 [email protected] "\n"
48 [email protected] "}"
49 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rs b/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rs
new file mode 100644
index 000000000..cd204f65e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0055_dot_dot_dot.rs
@@ -0,0 +1,5 @@
1type X = ();
2
3fn main() {
4 let ():::X = ();
5}
diff --git a/crates/syntax/test_data/parser/ok/0056_neq_in_type.rast b/crates/syntax/test_data/parser/ok/0056_neq_in_type.rast
new file mode 100644
index 000000000..3ef916e55
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0056_neq_in_type.rast
@@ -0,0 +1,64 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "if"
16 [email protected] " "
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected]
21 [email protected]
22 [email protected] "1.0f32"
23 [email protected] "."
24 [email protected]
25 [email protected] "floor"
26 [email protected]
27 [email protected] "("
28 [email protected] ")"
29 [email protected] " "
30 [email protected] "as"
31 [email protected] " "
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected]
36 [email protected] "i64"
37 [email protected] " "
38 [email protected] "!="
39 [email protected] " "
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "1.0f32"
44 [email protected] "."
45 [email protected]
46 [email protected] "floor"
47 [email protected]
48 [email protected] "("
49 [email protected] ")"
50 [email protected] " "
51 [email protected] "as"
52 [email protected] " "
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected]
57 [email protected] "i64"
58 [email protected] " "
59 [email protected]
60 [email protected] "{"
61 [email protected] "}"
62 [email protected] "\n"
63 [email protected] "}"
64 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0056_neq_in_type.rs b/crates/syntax/test_data/parser/ok/0056_neq_in_type.rs
new file mode 100644
index 000000000..6210683ce
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0056_neq_in_type.rs
@@ -0,0 +1,3 @@
1fn main() {
2 if 1.0f32.floor() as i64 != 1.0f32.floor() as i64 {}
3}
diff --git a/crates/syntax/test_data/parser/ok/0057_loop_in_call.rast b/crates/syntax/test_data/parser/ok/0057_loop_in_call.rast
new file mode 100644
index 000000000..76301004a
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0057_loop_in_call.rast
@@ -0,0 +1,56 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected]
10 [email protected]
11 [email protected]
12 [email protected] "x"
13 [email protected] ":"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected] "i32"
20 [email protected] ")"
21 [email protected] " "
22 [email protected]
23 [email protected] "{"
24 [email protected] "}"
25 [email protected] "\n\n"
26 [email protected]
27 [email protected] "fn"
28 [email protected] " "
29 [email protected]
30 [email protected] "main"
31 [email protected]
32 [email protected] "("
33 [email protected] ")"
34 [email protected] " "
35 [email protected]
36 [email protected] "{"
37 [email protected] "\n "
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected] "foo"
45 [email protected]
46 [email protected] "("
47 [email protected]
48 [email protected] "loop"
49 [email protected] " "
50 [email protected]
51 [email protected] "{"
52 [email protected] "}"
53 [email protected] ")"
54 [email protected] ";"
55 [email protected] "\n"
56 [email protected] "}"
diff --git a/crates/syntax/test_data/parser/ok/0057_loop_in_call.rs b/crates/syntax/test_data/parser/ok/0057_loop_in_call.rs
new file mode 100644
index 000000000..31c12522f
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0057_loop_in_call.rs
@@ -0,0 +1,5 @@
1fn foo(x: i32) {}
2
3fn main() {
4 foo(loop {});
5} \ No newline at end of file
diff --git a/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rast b/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rast
new file mode 100644
index 000000000..a1dfd58f2
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rast
@@ -0,0 +1,96 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "foo"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "1"
19 [email protected] " "
20 [email protected] "+"
21 [email protected] " "
22 [email protected]
23 [email protected] "*"
24 [email protected]
25 [email protected] "&"
26 [email protected]
27 [email protected] "2"
28 [email protected] " "
29 [email protected] "+"
30 [email protected] " "
31 [email protected]
32 [email protected] "3"
33 [email protected] ";"
34 [email protected] "\n "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "*"
39 [email protected]
40 [email protected] "&"
41 [email protected]
42 [email protected] "1"
43 [email protected] " "
44 [email protected] "as"
45 [email protected] " "
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected] "u64"
51 [email protected] ";"
52 [email protected] "\n "
53 [email protected]
54 [email protected]
55 [email protected] "*"
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "x"
62 [email protected]
63 [email protected] "("
64 [email protected]
65 [email protected] "1"
66 [email protected] ")"
67 [email protected] ";"
68 [email protected] "\n "
69 [email protected]
70 [email protected]
71 [email protected] "&"
72 [email protected]
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected] "x"
78 [email protected] "["
79 [email protected]
80 [email protected] "1"
81 [email protected] "]"
82 [email protected] ";"
83 [email protected] "\n "
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected] "-"
88 [email protected]
89 [email protected] "1"
90 [email protected] ".."
91 [email protected]
92 [email protected] "2"
93 [email protected] ";"
94 [email protected] "\n"
95 [email protected] "}"
96 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rs b/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rs
new file mode 100644
index 000000000..100fccc64
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0058_unary_expr_precedence.rs
@@ -0,0 +1,7 @@
1fn foo() {
2 1 + *&2 + 3;
3 *&1 as u64;
4 *x(1);
5 &x[1];
6 -1..2;
7}
diff --git a/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rast b/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rast
new file mode 100644
index 000000000..213f7b381
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rast
@@ -0,0 +1,97 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "Some"
21 [email protected]
22 [email protected] "("
23 [email protected]
24 [email protected] "for"
25 [email protected] " "
26 [email protected]
27 [email protected] "_"
28 [email protected] " "
29 [email protected] "in"
30 [email protected] " "
31 [email protected]
32 [email protected]
33 [email protected] "["
34 [email protected]
35 [email protected] "1"
36 [email protected] "]"
37 [email protected] "."
38 [email protected]
39 [email protected] "into_iter"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected] " "
44 [email protected]
45 [email protected] "{"
46 [email protected] "}"
47 [email protected] ")"
48 [email protected] ";"
49 [email protected] "\n "
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected]
56 [email protected] "Some"
57 [email protected]
58 [email protected] "("
59 [email protected]
60 [email protected] "loop"
61 [email protected] " "
62 [email protected]
63 [email protected] "{"
64 [email protected] " "
65 [email protected]
66 [email protected]
67 [email protected] "break"
68 [email protected] ";"
69 [email protected] " "
70 [email protected] "}"
71 [email protected] ")"
72 [email protected] ";"
73 [email protected] "\n "
74 [email protected]
75 [email protected]
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected]
80 [email protected] "Some"
81 [email protected]
82 [email protected] "("
83 [email protected]
84 [email protected] "while"
85 [email protected] " "
86 [email protected]
87 [email protected]
88 [email protected] "true"
89 [email protected] " "
90 [email protected]
91 [email protected] "{"
92 [email protected] "}"
93 [email protected] ")"
94 [email protected] ";"
95 [email protected] "\n"
96 [email protected] "}"
97 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rs b/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rs
new file mode 100644
index 000000000..6e8b718aa
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0059_loops_in_parens.rs
@@ -0,0 +1,5 @@
1fn main() {
2 Some(for _ in [1].into_iter() {});
3 Some(loop { break; });
4 Some(while true {});
5}
diff --git a/crates/syntax/test_data/parser/ok/0060_as_range.rast b/crates/syntax/test_data/parser/ok/0060_as_range.rast
new file mode 100644
index 000000000..1fd1a2888
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0060_as_range.rast
@@ -0,0 +1,55 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected] "0"
19 [email protected] " "
20 [email protected] "as"
21 [email protected] " "
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected]
26 [email protected] "usize"
27 [email protected] " "
28 [email protected] ".."
29 [email protected] ";"
30 [email protected] "\n "
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected]
35 [email protected] "1"
36 [email protected] " "
37 [email protected] "+"
38 [email protected] " "
39 [email protected]
40 [email protected]
41 [email protected] "2"
42 [email protected] " "
43 [email protected] "as"
44 [email protected] " "
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected]
49 [email protected] "usize"
50 [email protected] " "
51 [email protected] ".."
52 [email protected] ";"
53 [email protected] "\n"
54 [email protected] "}"
55 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0060_as_range.rs b/crates/syntax/test_data/parser/ok/0060_as_range.rs
new file mode 100644
index 000000000..f063ffadb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0060_as_range.rs
@@ -0,0 +1,4 @@
1fn main() {
2 0 as usize ..;
3 1 + 2 as usize ..;
4}
diff --git a/crates/syntax/test_data/parser/ok/0061_match_full_range.rast b/crates/syntax/test_data/parser/ok/0061_match_full_range.rast
new file mode 100644
index 000000000..ba49c115b
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0061_match_full_range.rast
@@ -0,0 +1,26 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "main"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "match"
16 [email protected] " "
17 [email protected]
18 [email protected] ".."
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "\n "
23 [email protected] "}"
24 [email protected] "\n"
25 [email protected] "}"
26 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0061_match_full_range.rs b/crates/syntax/test_data/parser/ok/0061_match_full_range.rs
new file mode 100644
index 000000000..2c4ed11e1
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0061_match_full_range.rs
@@ -0,0 +1,4 @@
1fn main() {
2 match .. {
3 }
4}
diff --git a/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
new file mode 100644
index 000000000..0c22c31a4
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
@@ -0,0 +1,175 @@
1[email protected]
2 [email protected]
3 [email protected] "macro"
4 [email protected] " "
5 [email protected]
6 [email protected] "parse_use_trees"
7 [email protected]
8 [email protected]
9 [email protected] "("
10 [email protected] "$"
11 [email protected]
12 [email protected] "("
13 [email protected] "$"
14 [email protected] "s"
15 [email protected] ":"
16 [email protected] "expr"
17 [email protected] ")"
18 [email protected] ","
19 [email protected] "*"
20 [email protected] " "
21 [email protected] "$"
22 [email protected]
23 [email protected] "("
24 [email protected] ","
25 [email protected] ")"
26 [email protected] "*"
27 [email protected] ")"
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "\n "
32 [email protected] "vec"
33 [email protected] "!"
34 [email protected]
35 [email protected] "["
36 [email protected] "\n "
37 [email protected] "$"
38 [email protected]
39 [email protected] "("
40 [email protected] "parse_use_tree"
41 [email protected]
42 [email protected] "("
43 [email protected] "$"
44 [email protected] "s"
45 [email protected] ")"
46 [email protected] ","
47 [email protected] ")"
48 [email protected] "*"
49 [email protected] "\n "
50 [email protected] "]"
51 [email protected] "\n"
52 [email protected] "}"
53 [email protected] "\n\n"
54 [email protected]
55 [email protected]
56 [email protected] "#"
57 [email protected] "["
58 [email protected]
59 [email protected]
60 [email protected]
61 [email protected] "test"
62 [email protected] "]"
63 [email protected] "\n"
64 [email protected] "fn"
65 [email protected] " "
66 [email protected]
67 [email protected] "test_use_tree_merge"
68 [email protected]
69 [email protected] "("
70 [email protected] ")"
71 [email protected] " "
72 [email protected]
73 [email protected] "{"
74 [email protected] "\n "
75 [email protected]
76 [email protected] "macro"
77 [email protected] " "
78 [email protected]
79 [email protected] "test_merge"
80 [email protected]
81 [email protected]
82 [email protected] "("
83 [email protected]
84 [email protected] "["
85 [email protected] "$"
86 [email protected]
87 [email protected] "("
88 [email protected] "$"
89 [email protected] "input"
90 [email protected] ":"
91 [email protected] "expr"
92 [email protected] ")"
93 [email protected] ","
94 [email protected] "*"
95 [email protected] " "
96 [email protected] "$"
97 [email protected]
98 [email protected] "("
99 [email protected] ","
100 [email protected] ")"
101 [email protected] "*"
102 [email protected] "]"
103 [email protected] ","
104 [email protected] " "
105 [email protected]
106 [email protected] "["
107 [email protected] "$"
108 [email protected]
109 [email protected] "("
110 [email protected] "$"
111 [email protected] "output"
112 [email protected] ":"
113 [email protected] "expr"
114 [email protected] ")"
115 [email protected] ","
116 [email protected] "*"
117 [email protected] " "
118 [email protected] "$"
119 [email protected]
120 [email protected] "("
121 [email protected] ","
122 [email protected] ")"
123 [email protected] "*"
124 [email protected] "]"
125 [email protected] ")"
126 [email protected] " "
127 [email protected]
128 [email protected] "{"
129 [email protected] "\n "
130 [email protected] "assert_eq"
131 [email protected] "!"
132 [email protected]
133 [email protected] "("
134 [email protected] "\n "
135 [email protected] "merge_use_trees"
136 [email protected]
137 [email protected] "("
138 [email protected] "parse_use_trees"
139 [email protected] "!"
140 [email protected]
141 [email protected] "("
142 [email protected] "$"
143 [email protected]
144 [email protected] "("
145 [email protected] "$"
146 [email protected] "input"
147 [email protected] ","
148 [email protected] ")"
149 [email protected] "*"
150 [email protected] ")"
151 [email protected] ")"
152 [email protected] ","
153 [email protected] "\n "
154 [email protected] "parse_use_trees"
155 [email protected] "!"
156 [email protected]
157 [email protected] "("
158 [email protected] "$"
159 [email protected]
160 [email protected] "("
161 [email protected] "$"
162 [email protected] "output"
163 [email protected] ","
164 [email protected] ")"
165 [email protected] "*"
166 [email protected] ")"
167 [email protected] ","
168 [email protected] "\n "
169 [email protected] ")"
170 [email protected] ";"
171 [email protected] "\n "
172 [email protected] "}"
173 [email protected] "\n"
174 [email protected] "}"
175 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0062_macro_2.0.rs b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rs
new file mode 100644
index 000000000..781047ba1
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rs
@@ -0,0 +1,15 @@
1macro parse_use_trees($($s:expr),* $(,)*) {
2 vec![
3 $(parse_use_tree($s),)*
4 ]
5}
6
7#[test]
8fn test_use_tree_merge() {
9 macro test_merge([$($input:expr),* $(,)*], [$($output:expr),* $(,)*]) {
10 assert_eq!(
11 merge_use_trees(parse_use_trees!($($input,)*)),
12 parse_use_trees!($($output,)*),
13 );
14 }
15}
diff --git a/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rast b/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
new file mode 100644
index 000000000..8eda59976
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
@@ -0,0 +1,194 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected] "fn"
13 [email protected] " "
14 [email protected]
15 [email protected] "f1"
16 [email protected]
17 [email protected] "("
18 [email protected]
19 [email protected]
20 [email protected] "("
21 [email protected]
22 [email protected]
23 [email protected] "a"
24 [email protected] ","
25 [email protected] " "
26 [email protected]
27 [email protected]
28 [email protected] "b"
29 [email protected] ")"
30 [email protected] ":"
31 [email protected] " "
32 [email protected]
33 [email protected] "("
34 [email protected]
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected] "usize"
39 [email protected] ","
40 [email protected] " "
41 [email protected]
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected] "usize"
46 [email protected] ")"
47 [email protected] ")"
48 [email protected] " "
49 [email protected]
50 [email protected] "{"
51 [email protected] "}"
52 [email protected] "\n "
53 [email protected]
54 [email protected] "fn"
55 [email protected] " "
56 [email protected]
57 [email protected] "f2"
58 [email protected]
59 [email protected] "("
60 [email protected]
61 [email protected]
62 [email protected]
63 [email protected]
64 [email protected]
65 [email protected] "S"
66 [email protected] " "
67 [email protected]
68 [email protected] "{"
69 [email protected] " "
70 [email protected]
71 [email protected]
72 [email protected]
73 [email protected] "a"
74 [email protected] ","
75 [email protected] " "
76 [email protected]
77 [email protected]
78 [email protected]
79 [email protected] "b"
80 [email protected] " "
81 [email protected] "}"
82 [email protected] ":"
83 [email protected] " "
84 [email protected]
85 [email protected]
86 [email protected]
87 [email protected]
88 [email protected] "S"
89 [email protected] ")"
90 [email protected] " "
91 [email protected]
92 [email protected] "{"
93 [email protected] "}"
94 [email protected] "\n "
95 [email protected]
96 [email protected] "fn"
97 [email protected] " "
98 [email protected]
99 [email protected] "f3"
100 [email protected]
101 [email protected] "("
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected]
106 [email protected]
107 [email protected] "NewType"
108 [email protected] "("
109 [email protected]
110 [email protected]
111 [email protected] "a"
112 [email protected] ")"
113 [email protected] ":"
114 [email protected] " "
115 [email protected]
116 [email protected]
117 [email protected]
118 [email protected]
119 [email protected] "NewType"
120 [email protected] ")"
121 [email protected] " "
122 [email protected]
123 [email protected] "{"
124 [email protected] "}"
125 [email protected] "\n "
126 [email protected]
127 [email protected] "fn"
128 [email protected] " "
129 [email protected]
130 [email protected] "f4"
131 [email protected]
132 [email protected] "("
133 [email protected]
134 [email protected]
135 [email protected] "&"
136 [email protected]
137 [email protected] "&"
138 [email protected]
139 [email protected]
140 [email protected] "a"
141 [email protected] ":"
142 [email protected] " "
143 [email protected]
144 [email protected] "&"
145 [email protected]
146 [email protected] "&"
147 [email protected]
148 [email protected]
149 [email protected]
150 [email protected]
151 [email protected] "usize"
152 [email protected] ")"
153 [email protected] " "
154 [email protected]
155 [email protected] "{"
156 [email protected] "}"
157 [email protected] "\n "
158 [email protected]
159 [email protected] "fn"
160 [email protected] " "
161 [email protected]
162 [email protected] "bar"
163 [email protected]
164 [email protected] "("
165 [email protected]
166 [email protected]
167 [email protected] "_"
168 [email protected] ":"
169 [email protected] " "
170 [email protected]
171 [email protected]
172 [email protected]
173 [email protected]
174 [email protected] "u64"
175 [email protected] ","
176 [email protected] " "
177 [email protected]
178 [email protected]
179 [email protected] "mut"
180 [email protected] " "
181 [email protected]
182 [email protected] "x"
183 [email protected] ":"
184 [email protected] " "
185 [email protected]
186 [email protected]
187 [email protected]
188 [email protected]
189 [email protected] "i32"
190 [email protected] ")"
191 [email protected] ";"
192 [email protected] "\n"
193 [email protected] "}"
194 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rs b/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rs
new file mode 100644
index 000000000..3b666af8e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0063_trait_fn_patterns.rs
@@ -0,0 +1,7 @@
1trait T {
2 fn f1((a, b): (usize, usize)) {}
3 fn f2(S { a, b }: S) {}
4 fn f3(NewType(a): NewType) {}
5 fn f4(&&a: &&usize) {}
6 fn bar(_: u64, mut x: i32);
7}
diff --git a/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
new file mode 100644
index 000000000..4009b3ff8
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
@@ -0,0 +1,133 @@
1[email protected]
2 [email protected]
3 [email protected]
4 [email protected] "extern"
5 [email protected] " "
6 [email protected] "\"C\""
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected] "fn"
13 [email protected] " "
14 [email protected]
15 [email protected] "a"
16 [email protected]
17 [email protected] "("
18 [email protected]
19 [email protected]
20 [email protected] "_"
21 [email protected] ":"
22 [email protected] " "
23 [email protected]
24 [email protected] "*"
25 [email protected] "mut"
26 [email protected] " "
27 [email protected]
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected] "u8"
32 [email protected] ","
33 [email protected] " "
34 [email protected]
35 [email protected] "..."
36 [email protected] ","
37 [email protected] ")"
38 [email protected] ";"
39 [email protected] "\n "
40 [email protected]
41 [email protected] "fn"
42 [email protected] " "
43 [email protected]
44 [email protected] "b"
45 [email protected]
46 [email protected] "("
47 [email protected]
48 [email protected]
49 [email protected] "_"
50 [email protected] ":"
51 [email protected] " "
52 [email protected]
53 [email protected] "*"
54 [email protected] "mut"
55 [email protected] " "
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected]
60 [email protected] "u8"
61 [email protected] ","
62 [email protected] " "
63 [email protected]
64 [email protected]
65 [email protected] "_"
66 [email protected] ":"
67 [email protected] " "
68 [email protected] "..."
69 [email protected] ")"
70 [email protected] ";"
71 [email protected] "\n "
72 [email protected]
73 [email protected] "fn"
74 [email protected] " "
75 [email protected]
76 [email protected] "c"
77 [email protected]
78 [email protected] "("
79 [email protected]
80 [email protected]
81 [email protected] "_"
82 [email protected] ":"
83 [email protected] " "
84 [email protected]
85 [email protected] "*"
86 [email protected] "mut"
87 [email protected] " "
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected]
92 [email protected] "u8"
93 [email protected] ","
94 [email protected] " "
95 [email protected]
96 [email protected] "#"
97 [email protected] "["
98 [email protected]
99 [email protected]
100 [email protected]
101 [email protected] "cfg"
102 [email protected]
103 [email protected] "("
104 [email protected] "never"
105 [email protected] ")"
106 [email protected] "]"
107 [email protected] " "
108 [email protected]
109 [email protected]
110 [email protected] "["
111 [email protected]
112 [email protected]
113 [email protected] "w"
114 [email protected] ","
115 [email protected] " "
116 [email protected]
117 [email protected]
118 [email protected] "t"
119 [email protected] ","
120 [email protected] " "
121 [email protected]
122 [email protected]
123 [email protected] "f"
124 [email protected] "]"
125 [email protected] ":"
126 [email protected] " "
127 [email protected] "..."
128 [email protected] ","
129 [email protected] ")"
130 [email protected] ";"
131 [email protected] "\n"
132 [email protected] "}"
133 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0063_variadic_fun.rs b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rs
new file mode 100644
index 000000000..a16afbaf3
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rs
@@ -0,0 +1,5 @@
1extern "C" {
2 fn a(_: *mut u8, ...,);
3 fn b(_: *mut u8, _: ...);
4 fn c(_: *mut u8, #[cfg(never)] [w, t, f]: ...,);
5}
diff --git a/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rast b/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rast
new file mode 100644
index 000000000..a3c6ed82e
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rast
@@ -0,0 +1,162 @@
1[email protected]
2 [email protected]
3 [email protected] "impl"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected]
9 [email protected] "U"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] "\n "
14 [email protected]
15 [email protected] "fn"
16 [email protected] " "
17 [email protected]
18 [email protected] "f1"
19 [email protected]
20 [email protected] "("
21 [email protected]
22 [email protected]
23 [email protected] "("
24 [email protected]
25 [email protected]
26 [email protected] "a"
27 [email protected] ","
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected] "b"
32 [email protected] ")"
33 [email protected] ":"
34 [email protected] " "
35 [email protected]
36 [email protected] "("
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "usize"
42 [email protected] ","
43 [email protected] " "
44 [email protected]
45 [email protected]
46 [email protected]
47 [email protected]
48 [email protected] "usize"
49 [email protected] ")"
50 [email protected] ")"
51 [email protected] " "
52 [email protected]
53 [email protected] "{"
54 [email protected] "}"
55 [email protected] "\n "
56 [email protected]
57 [email protected] "fn"
58 [email protected] " "
59 [email protected]
60 [email protected] "f2"
61 [email protected]
62 [email protected] "("
63 [email protected]
64 [email protected]
65 [email protected]
66 [email protected]
67 [email protected]
68 [email protected] "S"
69 [email protected] " "
70 [email protected]
71 [email protected] "{"
72 [email protected] " "
73 [email protected]
74 [email protected]
75 [email protected]
76 [email protected] "a"
77 [email protected] ","
78 [email protected] " "
79 [email protected]
80 [email protected]
81 [email protected]
82 [email protected] "b"
83 [email protected] " "
84 [email protected] "}"
85 [email protected] ":"
86 [email protected] " "
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected]
91 [email protected] "S"
92 [email protected] ")"
93 [email protected] " "
94 [email protected]
95 [email protected] "{"
96 [email protected] "}"
97 [email protected] "\n "
98 [email protected]
99 [email protected] "fn"
100 [email protected] " "
101 [email protected]
102 [email protected] "f3"
103 [email protected]
104 [email protected] "("
105 [email protected]
106 [email protected]
107 [email protected]
108 [email protected]
109 [email protected]
110 [email protected] "NewType"
111 [email protected] "("
112 [email protected]
113 [email protected]
114 [email protected] "a"
115 [email protected] ")"
116 [email protected] ":"
117 [email protected] " "
118 [email protected]
119 [email protected]
120 [email protected]
121 [email protected]
122 [email protected] "NewType"
123 [email protected] ")"
124 [email protected] " "
125 [email protected]
126 [email protected] "{"
127 [email protected] "}"
128 [email protected] "\n "
129 [email protected]
130 [email protected] "fn"
131 [email protected] " "
132 [email protected]
133 [email protected] "f4"
134 [email protected]
135 [email protected] "("
136 [email protected]
137 [email protected]
138 [email protected] "&"
139 [email protected]
140 [email protected] "&"
141 [email protected]
142 [email protected]
143 [email protected] "a"
144 [email protected] ":"
145 [email protected] " "
146 [email protected]
147 [email protected] "&"
148 [email protected]
149 [email protected] "&"
150 [email protected]
151 [email protected]
152 [email protected]
153 [email protected]
154 [email protected] "usize"
155 [email protected] ")"
156 [email protected] " "
157 [email protected]
158 [email protected] "{"
159 [email protected] "}"
160 [email protected] "\n"
161 [email protected] "}"
162 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rs b/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rs
new file mode 100644
index 000000000..b49e872d7
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0064_impl_fn_params.rs
@@ -0,0 +1,6 @@
1impl U {
2 fn f1((a, b): (usize, usize)) {}
3 fn f2(S { a, b }: S) {}
4 fn f3(NewType(a): NewType) {}
5 fn f4(&&a: &&usize) {}
6}
diff --git a/crates/syntax/test_data/parser/ok/0065_comment_newline.rast b/crates/syntax/test_data/parser/ok/0065_comment_newline.rast
new file mode 100644
index 000000000..29bd38c05
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0065_comment_newline.rast
@@ -0,0 +1,16 @@
1[email protected]
2 [email protected]
3 [email protected] "/// Example"
4 [email protected] "\n\n"
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "test"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "}"
16 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0065_comment_newline.rs b/crates/syntax/test_data/parser/ok/0065_comment_newline.rs
new file mode 100644
index 000000000..1fafe216b
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0065_comment_newline.rs
@@ -0,0 +1,3 @@
1/// Example
2
3fn test() {}
diff --git a/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast b/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast
new file mode 100644
index 000000000..2c699ffcb
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast
@@ -0,0 +1,60 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "T"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] " "
17 [email protected]
18 [email protected] "where"
19 [email protected] " "
20 [email protected]
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "T"
26 [email protected] ":"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "Fn"
35 [email protected]
36 [email protected] "("
37 [email protected] ")"
38 [email protected] " "
39 [email protected]
40 [email protected] "->"
41 [email protected] " "
42 [email protected]
43 [email protected]
44 [email protected]
45 [email protected]
46 [email protected] "u8"
47 [email protected] " "
48 [email protected] "+"
49 [email protected] " "
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected]
54 [email protected]
55 [email protected] "Send"
56 [email protected] " "
57 [email protected]
58 [email protected] "{"
59 [email protected] "}"
60 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rs b/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rs
new file mode 100644
index 000000000..29f3655e0
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rs
@@ -0,0 +1 @@
fn f<T>() where T: Fn() -> u8 + Send {}
diff --git a/crates/syntax/test_data/parser/ok/0066_default_modifier.rast b/crates/syntax/test_data/parser/ok/0066_default_modifier.rast
new file mode 100644
index 000000000..e9b57ec3b
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0066_default_modifier.rast
@@ -0,0 +1,218 @@
1[email protected]
2 [email protected]
3 [email protected] "trait"
4 [email protected] " "
5 [email protected]
6 [email protected] "T"
7 [email protected] " "
8 [email protected]
9 [email protected] "{"
10 [email protected] "\n "
11 [email protected]
12 [email protected] "default"
13 [email protected] " "
14 [email protected] "type"
15 [email protected] " "
16 [email protected]
17 [email protected] "T"
18 [email protected] " "
19 [email protected] "="
20 [email protected] " "
21 [email protected]
22 [email protected]
23 [email protected]
24 [email protected]
25 [email protected] "Bar"
26 [email protected] ";"
27 [email protected] "\n "
28 [email protected]
29 [email protected] "default"
30 [email protected] " "
31 [email protected] "const"
32 [email protected] " "
33 [email protected]
34 [email protected] "f"
35 [email protected] ":"
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "u8"
42 [email protected] " "
43 [email protected] "="
44 [email protected] " "
45 [email protected]
46 [email protected] "0"
47 [email protected] ";"
48 [email protected] "\n "
49 [email protected]
50 [email protected] "default"
51 [email protected] " "
52 [email protected] "fn"
53 [email protected] " "
54 [email protected]
55 [email protected] "foo"
56 [email protected]
57 [email protected] "("
58 [email protected] ")"
59 [email protected] " "
60 [email protected]
61 [email protected] "{"
62 [email protected] "}"
63 [email protected] "\n "
64 [email protected]
65 [email protected] "default"
66 [email protected] " "
67 [email protected] "unsafe"
68 [email protected] " "
69 [email protected] "fn"
70 [email protected] " "
71 [email protected]
72 [email protected] "bar"
73 [email protected]
74 [email protected] "("
75 [email protected] ")"
76 [email protected] " "
77 [email protected]
78 [email protected] "{"
79 [email protected] "}"
80 [email protected] "\n"
81 [email protected] "}"
82 [email protected] "\n\n"
83 [email protected]
84 [email protected] "impl"
85 [email protected] " "
86 [email protected]
87 [email protected]
88 [email protected]
89 [email protected]
90 [email protected] "T"
91 [email protected] " "
92 [email protected] "for"
93 [email protected] " "
94 [email protected]
95 [email protected]
96 [email protected]
97 [email protected]
98 [email protected] "Foo"
99 [email protected] " "
100 [email protected]
101 [email protected] "{"
102 [email protected] "\n "
103 [email protected]
104 [email protected] "default"
105 [email protected] " "
106 [email protected] "type"
107 [email protected] " "
108 [email protected]
109 [email protected] "T"
110 [email protected] " "
111 [email protected] "="
112 [email protected] " "
113 [email protected]
114 [email protected]
115 [email protected]
116 [email protected]
117 [email protected] "Bar"
118 [email protected] ";"
119 [email protected] "\n "
120 [email protected]
121 [email protected] "default"
122 [email protected] " "
123 [email protected] "const"
124 [email protected] " "
125 [email protected]
126 [email protected] "f"
127 [email protected] ":"
128 [email protected] " "
129 [email protected]
130 [email protected]
131 [email protected]
132 [email protected]
133 [email protected] "u8"
134 [email protected] " "
135 [email protected] "="
136 [email protected] " "
137 [email protected]
138 [email protected] "0"
139 [email protected] ";"
140 [email protected] "\n "
141 [email protected]
142 [email protected] "default"
143 [email protected] " "
144 [email protected] "fn"
145 [email protected] " "
146 [email protected]
147 [email protected] "foo"
148 [email protected]
149 [email protected] "("
150 [email protected] ")"
151 [email protected] " "
152 [email protected]
153 [email protected] "{"
154 [email protected] "}"
155 [email protected] "\n "
156 [email protected]
157 [email protected] "default"
158 [email protected] " "
159 [email protected] "unsafe"
160 [email protected] " "
161 [email protected] "fn"
162 [email protected] " "
163 [email protected]
164 [email protected] "bar"
165 [email protected]
166 [email protected] "("
167 [email protected] ")"
168 [email protected] " "
169 [email protected]
170 [email protected] "{"
171 [email protected] "}"
172 [email protected] "\n"
173 [email protected] "}"
174 [email protected] "\n\n"
175 [email protected]
176 [email protected] "default"
177 [email protected] " "
178 [email protected] "impl"
179 [email protected] " "
180 [email protected]
181 [email protected]
182 [email protected]
183 [email protected]
184 [email protected] "T"
185 [email protected] " "
186 [email protected] "for"
187 [email protected] " "
188 [email protected]
189 [email protected] "("
190 [email protected] ")"
191 [email protected] " "
192 [email protected]
193 [email protected] "{"
194 [email protected] "}"
195 [email protected] "\n"
196 [email protected]
197 [email protected] "default"
198 [email protected] " "
199 [email protected] "unsafe"
200 [email protected] " "
201 [email protected] "impl"
202 [email protected] " "
203 [email protected]
204 [email protected]
205 [email protected]
206 [email protected]
207 [email protected] "T"
208 [email protected] " "
209 [email protected] "for"
210 [email protected] " "
211 [email protected]
212 [email protected] "("
213 [email protected] ")"
214 [email protected] " "
215 [email protected]
216 [email protected] "{"
217 [email protected] "}"
218 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0066_default_modifier.rs b/crates/syntax/test_data/parser/ok/0066_default_modifier.rs
new file mode 100644
index 000000000..e443e3495
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0066_default_modifier.rs
@@ -0,0 +1,16 @@
1trait T {
2 default type T = Bar;
3 default const f: u8 = 0;
4 default fn foo() {}
5 default unsafe fn bar() {}
6}
7
8impl T for Foo {
9 default type T = Bar;
10 default const f: u8 = 0;
11 default fn foo() {}
12 default unsafe fn bar() {}
13}
14
15default impl T for () {}
16default unsafe impl T for () {}
diff --git a/crates/syntax/test_data/parser/ok/0067_where_for_pred.rast b/crates/syntax/test_data/parser/ok/0067_where_for_pred.rast
new file mode 100644
index 000000000..8f8639a37
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0067_where_for_pred.rast
@@ -0,0 +1,392 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "for_trait"
7 [email protected]
8 [email protected] "<"
9 [email protected]
10 [email protected]
11 [email protected] "F"
12 [email protected] ">"
13 [email protected]
14 [email protected] "("
15 [email protected] ")"
16 [email protected] "\n"
17 [email protected]
18 [email protected] "where"
19 [email protected] "\n "
20 [email protected]
21 [email protected] "for"
22 [email protected]
23 [email protected] "<"
24 [email protected]
25 [email protected] "\'a"
26 [email protected] ">"
27 [email protected] " "
28 [email protected]
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected] "F"
33 [email protected] ":"
34 [email protected] " "
35 [email protected]
36 [email protected]
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected] "Fn"
42 [email protected]
43 [email protected] "("
44 [email protected]
45 [email protected]
46 [email protected] "&"
47 [email protected] "\'a"
48 [email protected] " "
49 [email protected]
50 [email protected]
51 [email protected]
52 [email protected]
53 [email protected] "str"
54 [email protected] ")"
55 [email protected] ","
56 [email protected] "\n"
57 [email protected]
58 [email protected] "{"
59 [email protected] "\n"
60 [email protected] "}"
61 [email protected] "\n"
62 [email protected]
63 [email protected] "fn"
64 [email protected] " "
65 [email protected]
66 [email protected] "for_ref"
67 [email protected]
68 [email protected] "<"
69 [email protected]
70 [email protected]
71 [email protected] "F"
72 [email protected] ">"
73 [email protected]
74 [email protected] "("
75 [email protected] ")"
76 [email protected] "\n"
77 [email protected]
78 [email protected] "where"
79 [email protected] "\n "
80 [email protected]
81 [email protected] "for"
82 [email protected]
83 [email protected] "<"
84 [email protected]
85 [email protected] "\'a"
86 [email protected] ">"
87 [email protected] " "
88 [email protected]
89 [email protected] "&"
90 [email protected] "\'a"
91 [email protected] " "
92 [email protected]
93 [email protected]
94 [email protected]
95 [email protected]
96 [email protected] "F"
97 [email protected] ":"
98 [email protected] " "
99 [email protected]
100 [email protected]
101 [email protected]
102 [email protected]
103 [email protected]
104 [email protected]
105 [email protected] "Debug"
106 [email protected] ","
107 [email protected] "\n"
108 [email protected]
109 [email protected] "{"
110 [email protected] "\n"
111 [email protected] "}"
112 [email protected] "\n"
113 [email protected]
114 [email protected] "fn"
115 [email protected] " "
116 [email protected]
117 [email protected] "for_parens"
118 [email protected]
119 [email protected] "<"
120 [email protected]
121 [email protected]
122 [email protected] "F"
123 [email protected] ">"
124 [email protected]
125 [email protected] "("
126 [email protected] ")"
127 [email protected] "\n"
128 [email protected]
129 [email protected] "where"
130 [email protected] "\n "
131 [email protected]
132 [email protected] "for"
133 [email protected]
134 [email protected] "<"
135 [email protected]
136 [email protected] "\'a"
137 [email protected] ">"
138 [email protected] " "
139 [email protected]
140 [email protected] "("
141 [email protected]
142 [email protected] "&"
143 [email protected] "\'a"
144 [email protected] " "
145 [email protected]
146 [email protected]
147 [email protected]
148 [email protected]
149 [email protected] "F"
150 [email protected] ")"
151 [email protected] ":"
152 [email protected] " "
153 [email protected]
154 [email protected]
155 [email protected]
156 [email protected]
157 [email protected]
158 [email protected]
159 [email protected] "Fn"
160 [email protected]
161 [email protected] "("
162 [email protected]
163 [email protected]
164 [email protected] "&"
165 [email protected] "\'a"
166 [email protected] " "
167 [email protected]
168 [email protected]
169 [email protected]
170 [email protected]
171 [email protected] "str"
172 [email protected] ")"
173 [email protected] ","
174 [email protected] "\n"
175 [email protected]
176 [email protected] "{"
177 [email protected] "\n"
178 [email protected] "}"
179 [email protected] "\n"
180 [email protected]
181 [email protected] "fn"
182 [email protected] " "
183 [email protected]
184 [email protected] "for_slice"
185 [email protected]
186 [email protected] "<"
187 [email protected]
188 [email protected]
189 [email protected] "F"
190 [email protected] ">"
191 [email protected]
192 [email protected] "("
193 [email protected] ")"
194 [email protected] "\n"
195 [email protected]
196 [email protected] "where"
197 [email protected] "\n "
198 [email protected]
199 [email protected] "for"
200 [email protected]
201 [email protected] "<"
202 [email protected]
203 [email protected] "\'a"
204 [email protected] ">"
205 [email protected] " "
206 [email protected]
207 [email protected] "["
208 [email protected]
209 [email protected] "&"
210 [email protected] "\'a"
211 [email protected] " "
212 [email protected]
213 [email protected]
214 [email protected]
215 [email protected]
216 [email protected] "F"
217 [email protected] "]"
218 [email protected] ":"
219 [email protected] " "
220 [email protected]
221 [email protected]
222 [email protected]
223 [email protected]
224 [email protected]
225 [email protected]
226 [email protected] "Eq"
227 [email protected] ","
228 [email protected] "\n"
229 [email protected]
230 [email protected] "{"
231 [email protected] "\n"
232 [email protected] "}"
233 [email protected] "\n"
234 [email protected]
235 [email protected] "fn"
236 [email protected] " "
237 [email protected]
238 [email protected] "for_qpath"
239 [email protected]
240 [email protected] "<"
241 [email protected]
242 [email protected]
243 [email protected] "T"
244 [email protected] ">"
245 [email protected]
246 [email protected] "("
247 [email protected]
248 [email protected]
249 [email protected]
250 [email protected] "_t"
251 [email protected] ":"
252 [email protected] " "
253 [email protected]
254 [email protected] "&"
255 [email protected]
256 [email protected]
257 [email protected]
258 [email protected]
259 [email protected] "T"
260 [email protected] ")"
261 [email protected] "\n"
262 [email protected]
263 [email protected] "where"
264 [email protected] "\n "
265 [email protected]
266 [email protected] "for"
267 [email protected]
268 [email protected] "<"
269 [email protected]
270 [email protected] "\'a"
271 [email protected] ">"
272 [email protected] " "
273 [email protected]
274 [email protected]
275 [email protected]
276 [email protected]
277 [email protected] "<"
278 [email protected]
279 [email protected] "&"
280 [email protected] "\'a"
281 [email protected] " "
282 [email protected]
283 [email protected]
284 [email protected]
285 [email protected]
286 [email protected] "T"
287 [email protected] " "
288 [email protected] "as"
289 [email protected] " "
290 [email protected]
291 [email protected]
292 [email protected]
293 [email protected]
294 [email protected] "Baz"
295 [email protected] ">"
296 [email protected] "::"
297 [email protected]
298 [email protected]
299 [email protected] "Foo"
300 [email protected] ":"
301 [email protected] " "
302 [email protected]
303 [email protected]
304 [email protected]
305 [email protected]
306 [email protected]
307 [email protected]
308 [email protected] "Iterator"
309 [email protected] ","
310 [email protected] "\n"
311 [email protected]
312 [email protected] "{"
313 [email protected] "\n"
314 [email protected] "}"
315 [email protected] "\n"
316 [email protected]
317 [email protected] "fn"
318 [email protected] " "
319 [email protected]
320 [email protected] "for_for_fn"
321 [email protected]
322 [email protected] "<"
323 [email protected]
324 [email protected]
325 [email protected] "T"
326 [email protected] ">"
327 [email protected]
328 [email protected] "("
329 [email protected] ")"
330 [email protected] "\n"
331 [email protected]
332 [email protected] "where"
333 [email protected] "\n "
334 [email protected]
335 [email protected] "for"
336 [email protected]
337 [email protected] "<"
338 [email protected]
339 [email protected] "\'a"
340 [email protected] ">"
341 [email protected] " "
342 [email protected]
343 [email protected] "for"
344 [email protected]
345 [email protected] "<"
346 [email protected]
347 [email protected] "\'b"
348 [email protected] ">"
349 [email protected] " "
350 [email protected]
351 [email protected] "fn"
352 [email protected]
353 [email protected] "("
354 [email protected]
355 [email protected]
356 [email protected] "&"
357 [email protected] "\'a"
358 [email protected] " "
359 [email protected]
360 [email protected]
361 [email protected]
362 [email protected]
363 [email protected] "T"
364 [email protected] ","
365 [email protected] " "
366 [email protected]
367 [email protected]
368 [email protected] "&"
369 [email protected] "\'b"
370 [email protected] " "
371 [email protected]
372 [email protected]
373 [email protected]
374 [email protected]
375 [email protected] "T"
376 [email protected] ")"
377 [email protected] ":"
378 [email protected] " "
379 [email protected]
380 [email protected]
381 [email protected]
382 [email protected]
383 [email protected]
384 [email protected]
385 [email protected] "Copy"
386 [email protected] ","
387 [email protected] "\n"
388 [email protected]
389 [email protected] "{"
390 [email protected] "\n"
391 [email protected] "}"
392 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0067_where_for_pred.rs b/crates/syntax/test_data/parser/ok/0067_where_for_pred.rs
new file mode 100644
index 000000000..9058c4619
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0067_where_for_pred.rs
@@ -0,0 +1,30 @@
1fn for_trait<F>()
2where
3 for<'a> F: Fn(&'a str),
4{
5}
6fn for_ref<F>()
7where
8 for<'a> &'a F: Debug,
9{
10}
11fn for_parens<F>()
12where
13 for<'a> (&'a F): Fn(&'a str),
14{
15}
16fn for_slice<F>()
17where
18 for<'a> [&'a F]: Eq,
19{
20}
21fn for_qpath<T>(_t: &T)
22where
23 for<'a> <&'a T as Baz>::Foo: Iterator,
24{
25}
26fn for_for_fn<T>()
27where
28 for<'a> for<'b> fn(&'a T, &'b T): Copy,
29{
30}
diff --git a/crates/syntax/test_data/parser/ok/0068_item_modifiers.rast b/crates/syntax/test_data/parser/ok/0068_item_modifiers.rast
new file mode 100644
index 000000000..50a6d8ee9
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0068_item_modifiers.rast
@@ -0,0 +1,218 @@
1[email protected]
2 [email protected]
3 [email protected] "async"
4 [email protected] " "
5 [email protected] "fn"
6 [email protected] " "
7 [email protected]
8 [email protected] "foo"
9 [email protected]
10 [email protected] "("
11 [email protected] ")"
12 [email protected] " "
13 [email protected]
14 [email protected] "{"
15 [email protected] "}"
16 [email protected] "\n"
17 [email protected]
18 [email protected]
19 [email protected] "extern"
20 [email protected] " "
21 [email protected] "fn"
22 [email protected] " "
23 [email protected]
24 [email protected] "foo"
25 [email protected]
26 [email protected] "("
27 [email protected] ")"
28 [email protected] " "
29 [email protected]
30 [email protected] "{"
31 [email protected] "}"
32 [email protected] "\n"
33 [email protected]
34 [email protected] "const"
35 [email protected] " "
36 [email protected] "fn"
37 [email protected] " "
38 [email protected]
39 [email protected] "foo"
40 [email protected]
41 [email protected] "("
42 [email protected] ")"
43 [email protected] " "
44 [email protected]
45 [email protected] "{"
46 [email protected] "}"
47 [email protected] "\n"
48 [email protected]
49 [email protected] "const"
50 [email protected] " "
51 [email protected] "unsafe"
52 [email protected] " "
53 [email protected] "fn"
54 [email protected] " "
55 [email protected]
56 [email protected] "foo"
57 [email protected]
58 [email protected] "("
59 [email protected] ")"
60 [email protected] " "
61 [email protected]
62 [email protected] "{"
63 [email protected] "}"
64 [email protected] "\n"
65 [email protected]
66 [email protected] "unsafe"
67 [email protected] " "
68 [email protected]
69 [email protected] "extern"
70 [email protected] " "
71 [email protected] "\"C\""
72 [email protected] " "
73 [email protected] "fn"
74 [email protected] " "
75 [email protected]
76 [email protected] "foo"
77 [email protected]
78 [email protected] "("
79 [email protected] ")"
80 [email protected] " "
81 [email protected]
82 [email protected] "{"
83 [email protected] "}"
84 [email protected] "\n"
85 [email protected]
86 [email protected] "unsafe"
87 [email protected] " "
88 [email protected] "fn"
89 [email protected] " "
90 [email protected]
91 [email protected] "foo"
92 [email protected]
93 [email protected] "("
94 [email protected] ")"
95 [email protected] " "
96 [email protected]
97 [email protected] "{"
98 [email protected] "}"
99 [email protected] "\n"
100 [email protected]
101 [email protected] "async"
102 [email protected] " "
103 [email protected] "unsafe"
104 [email protected] " "
105 [email protected] "fn"
106 [email protected] " "
107 [email protected]
108 [email protected] "foo"
109 [email protected]
110 [email protected] "("
111 [email protected] ")"
112 [email protected] " "
113 [email protected]
114 [email protected] "{"
115 [email protected] "}"
116 [email protected] "\n"
117 [email protected]
118 [email protected] "const"
119 [email protected] " "
120 [email protected] "unsafe"
121 [email protected] " "
122 [email protected] "fn"
123 [email protected] " "
124 [email protected]
125 [email protected] "bar"
126 [email protected]
127 [email protected] "("
128 [email protected] ")"
129 [email protected] " "
130 [email protected]
131 [email protected] "{"
132 [email protected] "}"
133 [email protected] "\n\n"
134 [email protected]
135 [email protected] "unsafe"
136 [email protected] " "
137 [email protected] "trait"
138 [email protected] " "
139 [email protected]
140 [email protected] "T"
141 [email protected] " "
142 [email protected]
143 [email protected] "{"
144 [email protected] "}"
145 [email protected] "\n"
146 [email protected]
147 [email protected] "auto"
148 [email protected] " "
149 [email protected] "trait"
150 [email protected] " "
151 [email protected]
152 [email protected] "T"
153 [email protected] " "
154 [email protected]
155 [email protected] "{"
156 [email protected] "}"
157 [email protected] "\n"
158 [email protected]
159 [email protected] "unsafe"
160 [email protected] " "
161 [email protected] "auto"
162 [email protected] " "
163 [email protected] "trait"
164 [email protected] " "
165 [email protected]
166 [email protected] "T"
167 [email protected] " "
168 [email protected]
169 [email protected] "{"
170 [email protected] "}"
171 [email protected] "\n\n"
172 [email protected]
173 [email protected] "unsafe"
174 [email protected] " "
175 [email protected] "impl"
176 [email protected] " "
177 [email protected]
178 [email protected]
179 [email protected]
180 [email protected]
181 [email protected] "Foo"
182 [email protected] " "
183 [email protected]
184 [email protected] "{"
185 [email protected] "}"
186 [email protected] "\n"
187 [email protected]
188 [email protected] "default"
189 [email protected] " "
190 [email protected] "impl"
191 [email protected] " "
192 [email protected]
193 [email protected]
194 [email protected]
195 [email protected]
196 [email protected] "Foo"
197 [email protected] " "
198 [email protected]
199 [email protected] "{"
200 [email protected] "}"
201 [email protected] "\n"
202 [email protected]
203 [email protected] "unsafe"
204 [email protected] " "
205 [email protected] "default"
206 [email protected] " "
207 [email protected] "impl"
208 [email protected] " "
209 [email protected]
210 [email protected]
211 [email protected]
212 [email protected]
213 [email protected] "Foo"
214 [email protected] " "
215 [email protected]
216 [email protected] "{"
217 [email protected] "}"
218 [email protected] "\n"
diff --git a/crates/syntax/test_data/parser/ok/0068_item_modifiers.rs b/crates/syntax/test_data/parser/ok/0068_item_modifiers.rs
new file mode 100644
index 000000000..8d697c04b
--- /dev/null
+++ b/crates/syntax/test_data/parser/ok/0068_item_modifiers.rs
@@ -0,0 +1,16 @@
1async fn foo() {}
2extern fn foo() {}
3const fn foo() {}
4const unsafe fn foo() {}
5unsafe extern "C" fn foo() {}
6unsafe fn foo() {}
7async unsafe fn foo() {}
8const unsafe fn bar() {}
9
10unsafe trait T {}
11auto trait T {}
12unsafe auto trait T {}
13
14unsafe impl Foo {}
15default impl Foo {}
16unsafe default impl Foo {}
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0000.rs b/crates/syntax/test_data/reparse/fuzz-failures/0000.rs
new file mode 100644
index 000000000..388eb74ed
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0000.rs
@@ -0,0 +1,6 @@
10
21
3
4
5
60 \ No newline at end of file
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0001.rs b/crates/syntax/test_data/reparse/fuzz-failures/0001.rs
new file mode 100644
index 000000000..d2d42c6f9
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0001.rs
@@ -0,0 +1,4 @@
10
21
3
4bb" \ No newline at end of file
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0002.rs b/crates/syntax/test_data/reparse/fuzz-failures/0002.rs
new file mode 100644
index 000000000..3fbee1548
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0002.rs
@@ -0,0 +1,4 @@
11
21
3
4""! \ No newline at end of file
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0003.rs b/crates/syntax/test_data/reparse/fuzz-failures/0003.rs
new file mode 100644
index 000000000..d2757cd08
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0003.rs
Binary files differ
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0004.rs b/crates/syntax/test_data/reparse/fuzz-failures/0004.rs
new file mode 100644
index 000000000..481617a70
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0004.rs
@@ -0,0 +1,4 @@
10
20
3}
4{; \ No newline at end of file
diff --git a/crates/syntax/test_data/reparse/fuzz-failures/0005.rs b/crates/syntax/test_data/reparse/fuzz-failures/0005.rs
new file mode 100644
index 000000000..074d761c7
--- /dev/null
+++ b/crates/syntax/test_data/reparse/fuzz-failures/0005.rs
@@ -0,0 +1,7 @@
105
21
3
4
5
6b'
7 \ No newline at end of file