rust/crates/ra_syntax/tests/data/parser/inline
Roland Ruckerbauer d0f1334226 Fixed cast expression parsing in ra_syntax.
The cast expression expected any type via types::type_() function,
but the language spec does only allow TypeNoBounds (types without direct extra bounds
via `+`).

**Example:**

```rust
fn test() {
	6i8 as i32 + 5;
}
```

This fails, because the types::type_() function which should parse the type after the
as keyword is greedy, and takes all plus sign after path types as extra.

My proposed fix is to replace the not implemented `type_no_plus()` just calls (`type_()`)
function, which is used at several places. The replacement is `type_with_bounds_cond(p: &mut Parser, allow_bounds: bool)`, which passes the condition to relevant sub-parsers.

This function is then called by `type_()` and the new public `type_no_bounds()`.
2018-12-17 17:26:24 +01:00
..
0001_const_unsafe_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0001_const_unsafe_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0002_const_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0002_const_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0003_extern_block.rs rename all things 2018-09-16 13:07:39 +03:00
0003_extern_block.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0004_extern_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0004_extern_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0005_extern_crate.rs rename all things 2018-09-16 13:07:39 +03:00
0005_extern_crate.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0007_unsafe_trait.rs rename all things 2018-09-16 13:07:39 +03:00
0007_unsafe_trait.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0008_unsafe_impl.rs rename all things 2018-09-16 13:07:39 +03:00
0008_unsafe_impl.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0009_unsafe_auto_trait.rs rename all things 2018-09-16 13:07:39 +03:00
0009_unsafe_auto_trait.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0010_unsafe_default_impl.rs rename all things 2018-09-16 13:07:39 +03:00
0010_unsafe_default_impl.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0011_unsafe_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0011_unsafe_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0012_unsafe_extern_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0012_unsafe_extern_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0013_unsafe_block_in_mod.rs rename all things 2018-09-16 13:07:39 +03:00
0013_unsafe_block_in_mod.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0014_type_item_type_params.rs rename all things 2018-09-16 13:07:39 +03:00
0014_type_item_type_params.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0015_type_item.rs rename all things 2018-09-16 13:07:39 +03:00
0015_type_item.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0016_type_item_where_clause.rs rename all things 2018-09-16 13:07:39 +03:00
0016_type_item_where_clause.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0017_paren_type.rs rename all things 2018-09-16 13:07:39 +03:00
0017_paren_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0018_unit_type.rs rename all things 2018-09-16 13:07:39 +03:00
0018_unit_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0019_singleton_tuple_type.rs rename all things 2018-09-16 13:07:39 +03:00
0019_singleton_tuple_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0020_never_type.rs rename all things 2018-09-16 13:07:39 +03:00
0020_never_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0021_pointer_type_no_mutability.rs rename all things 2018-09-16 13:07:39 +03:00
0021_pointer_type_no_mutability.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0022_pointer_type_mut.rs rename all things 2018-09-16 13:07:39 +03:00
0022_pointer_type_mut.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0023_array_type_missing_semi.rs rename all things 2018-09-16 13:07:39 +03:00
0023_array_type_missing_semi.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0024_array_type.rs rename all things 2018-09-16 13:07:39 +03:00
0024_array_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0025_slice_type.rs rename all things 2018-09-16 13:07:39 +03:00
0025_slice_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0026_reference_type;.rs rename all things 2018-09-16 13:07:39 +03:00
0026_reference_type;.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0027_placeholder_type.rs rename all things 2018-09-16 13:07:39 +03:00
0027_placeholder_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0028_fn_pointer_type.rs rename all things 2018-09-16 13:07:39 +03:00
0028_fn_pointer_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0029_fn_pointer_type_missing_fn.rs rename all things 2018-09-16 13:07:39 +03:00
0029_fn_pointer_type_missing_fn.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0030_fn_pointer_type_with_ret.rs rename all things 2018-09-16 13:07:39 +03:00
0030_fn_pointer_type_with_ret.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0031_for_type.rs rename all things 2018-09-16 13:07:39 +03:00
0031_for_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0032_path_type.rs rename all things 2018-09-16 13:07:39 +03:00
0032_path_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0034_bind_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0034_bind_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0035_ref_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0035_ref_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0036_placeholder_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0036_placeholder_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0037_crate_visibility.rs rename all things 2018-09-16 13:07:39 +03:00
0037_crate_visibility.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0038_function_ret_type.rs rename all things 2018-09-16 13:07:39 +03:00
0038_function_ret_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0039_path_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0039_path_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0040_expr_literals.rs rename all things 2018-09-16 13:07:39 +03:00
0040_expr_literals.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0041_type_param_bounds.rs rename all things 2018-09-16 13:07:39 +03:00
0041_type_param_bounds.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0042_type_param_default.rs rename all things 2018-09-16 13:07:39 +03:00
0042_type_param_default.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0043_call_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0043_call_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0044_ref_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0044_ref_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0045_block.rs rename all things 2018-09-16 13:07:39 +03:00
0045_block.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0046_default_impl.rs rename all things 2018-09-16 13:07:39 +03:00
0046_default_impl.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0047_impl_item.rs rename all things 2018-09-16 13:07:39 +03:00
0047_impl_item.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0048_impl_item_neg.rs rename all things 2018-09-16 13:07:39 +03:00
0048_impl_item_neg.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0049_trait_item_list.rs rename all things 2018-09-16 13:07:39 +03:00
0049_trait_item_list.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0050_let_stmt;.rs rename all things 2018-09-16 13:07:39 +03:00
0050_let_stmt;.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0051_method_call_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0051_method_call_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0052_field_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0052_field_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0053_block_items.rs rename all things 2018-09-16 13:07:39 +03:00
0053_block_items.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0054_field_pat_list.rs rename all things 2018-09-16 13:07:39 +03:00
0054_field_pat_list.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0055_self_param.rs rename all things 2018-09-16 13:07:39 +03:00
0055_self_param.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0056_trait_item.rs rename all things 2018-09-16 13:07:39 +03:00
0056_trait_item.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0057_auto_trait.rs rename all things 2018-09-16 13:07:39 +03:00
0057_auto_trait.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0058_type_arg.rs rename all things 2018-09-16 13:07:39 +03:00
0058_type_arg.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0059_function_where_clause.rs rename all things 2018-09-16 13:07:39 +03:00
0059_function_where_clause.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0060_function_type_params.rs rename all things 2018-09-16 13:07:39 +03:00
0060_function_type_params.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0061_struct_lit.rs rename all things 2018-09-16 13:07:39 +03:00
0061_struct_lit.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0063_impl_trait_type.rs rename all things 2018-09-16 13:07:39 +03:00
0063_impl_trait_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0063_lambda_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0064_param_list.rs rename all things 2018-09-16 13:07:39 +03:00
0064_param_list.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0065_if_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0065_if_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0066_lambda_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0066_lambda_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0067_block_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0067_block_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0068_pub_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0068_pub_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0068_return_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0068_return_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0069_match_arm.rs Support leading pipe in match arms 2018-10-03 21:47:03 +01:00
0069_match_arm.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0070_match_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0070_match_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0071_tuple_pat_fields.rs rename all things 2018-09-16 13:07:39 +03:00
0071_tuple_pat_fields.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0072_path_part.rs rename all things 2018-09-16 13:07:39 +03:00
0072_path_part.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0073_impl_item_list.rs rename all things 2018-09-16 13:07:39 +03:00
0073_impl_item_list.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0074_unary_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0074_unary_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0075_try_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0075_try_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0076_cond.rs rename all things 2018-09-16 13:07:39 +03:00
0076_cond.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0077_while_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0077_while_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0078_mod_contents.rs rename all things 2018-09-16 13:07:39 +03:00
0078_mod_contents.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0079_cast_expr.rs Fixed cast expression parsing in ra_syntax. 2018-12-17 17:26:24 +01:00
0079_cast_expr.txt Fixed cast expression parsing in ra_syntax. 2018-12-17 17:26:24 +01:00
0080_tuple_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0080_tuple_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0081_index_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0081_index_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0082_tuple_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0082_tuple_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0083_postfix_range.rs rename all things 2018-09-16 13:07:39 +03:00
0083_postfix_range.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0084_loop_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0084_loop_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0085_for_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0085_for_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0085_match_arms_commas.rs rename all things 2018-09-16 13:07:39 +03:00
0085_match_arms_commas.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0086_array_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0086_array_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0086_no_semi_after_block.rs rename all things 2018-09-16 13:07:39 +03:00
0086_no_semi_after_block.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0087_stmt_postfix_expr_ambiguity.rs rename all things 2018-09-16 13:07:39 +03:00
0087_stmt_postfix_expr_ambiguity.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0088_stmt_bin_expr_ambiguity.rs rename all things 2018-09-16 13:07:39 +03:00
0088_stmt_bin_expr_ambiguity.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0089_slice_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0089_slice_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0091_fn_decl.rs rename all things 2018-09-16 13:07:39 +03:00
0091_fn_decl.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0092_literal_pattern.rs rename all things 2018-09-16 13:07:39 +03:00
0092_literal_pattern.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0093_path_fn_trait_args.rs rename all things 2018-09-16 13:07:39 +03:00
0093_path_fn_trait_args.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0094_range_pat.rs rename all things 2018-09-16 13:07:39 +03:00
0094_range_pat.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0095_path_type_with_bounds.rs rename all things 2018-09-16 13:07:39 +03:00
0095_path_type_with_bounds.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0096_value_parameters_no_patterns.rs rename all things 2018-09-16 13:07:39 +03:00
0096_value_parameters_no_patterns.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0097_param_list_opt_patterns.rs rename all things 2018-09-16 13:07:39 +03:00
0097_param_list_opt_patterns.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0098_where_clause.rs rename all things 2018-09-16 13:07:39 +03:00
0098_where_clause.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0099_crate_keyword_vis.rs rename all things 2018-09-16 13:07:39 +03:00
0099_crate_keyword_vis.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0100_dyn_trait_type.rs rename all things 2018-09-16 13:07:39 +03:00
0100_dyn_trait_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0101_qual_paths.rs rename all things 2018-09-16 13:07:39 +03:00
0101_qual_paths.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0102_full_range_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0102_full_range_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0103_field_attrs.rs rename all things 2018-09-16 13:07:39 +03:00
0103_field_attrs.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0104_arb_self_types.rs rename all things 2018-09-16 13:07:39 +03:00
0104_arb_self_types.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0105_continue_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0105_continue_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0106_break_expr.rs rename all things 2018-09-16 13:07:39 +03:00
0106_break_expr.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0107_label.rs rename all things 2018-09-16 13:07:39 +03:00
0107_label.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0108_misplaced_label_err.rs rename all things 2018-09-16 13:07:39 +03:00
0108_misplaced_label_err.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0109_struct_items.rs rename all things 2018-09-16 13:07:39 +03:00
0109_struct_items.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0110_union_items.rs rename all things 2018-09-16 13:07:39 +03:00
0110_union_items.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0111_impl_type.rs generate testsuite for impl_type 2018-09-26 16:53:16 +08:00
0111_impl_type.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0112_crate_path.rs support 2018 paths 2018-09-29 14:53:23 +03:00
0112_crate_path.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0113_where_pred_for.rs grammar: for predicates in where 2018-11-05 11:24:08 +03:00
0113_where_pred_for.txt rename ROOT -> SOURCE_FILE 2018-11-07 18:42:36 +03:00
0114_use_path.rs Update use path test 2018-12-05 22:08:00 +00:00
0114_use_path.txt Update use path test 2018-12-05 22:08:00 +00:00
0115_use_alias.rs Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0115_use_alias.txt Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0116_use_star.rs Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0116_use_star.txt Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0117_use_tree_list_after_path.rs Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0117_use_tree_list_after_path.txt Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0118_use_tree_list.rs Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00
0118_use_tree_list.txt Improve/add the use_item documentation 2018-12-05 21:43:40 +00:00