rust-analyzer/crates/ra_syntax/src
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
..
algo grand module rename 2018-12-08 19:30:35 +03:00
ast grand module rename 2018-12-08 19:30:35 +03:00
grammar Fixed cast expression parsing in ra_syntax. 2018-12-17 17:26:24 +01:00
lexer grand module rename 2018-12-08 19:30:35 +03:00
parser_impl grand module rename 2018-12-08 19:30:35 +03:00
string_lexing grand module rename 2018-12-08 19:30:35 +03:00
syntax_kinds grand module rename 2018-12-08 19:30:35 +03:00
validation grand module rename 2018-12-08 19:30:35 +03:00
yellow extract AtomEdit and Edit into new ra_text_edit crate 2018-12-10 22:09:12 +01:00
algo.rs grand module rename 2018-12-08 19:30:35 +03:00
ast.rs grand module rename 2018-12-08 19:30:35 +03:00
grammar.ron Clarify and correct comment about multi_byte_tokens 2018-12-08 19:28:10 +03:00
grammar.rs grand module rename 2018-12-08 19:30:35 +03:00
lexer.rs grand module rename 2018-12-08 19:30:35 +03:00
lib.rs rename Edit to TextEdit and AtomEdit to AtomTextEdit 2018-12-11 19:07:17 +01:00
parser_api.rs modernize some files 2018-12-06 20:49:36 +03:00
parser_impl.rs grand module rename 2018-12-08 19:30:35 +03:00
reparsing.rs rename Edit to TextEdit and AtomEdit to AtomTextEdit 2018-12-11 19:07:17 +01:00
string_lexing.rs grand module rename 2018-12-08 19:30:35 +03:00
syntax_kinds.rs grand module rename 2018-12-08 19:30:35 +03:00
text_utils.rs extract AtomEdit and Edit into new ra_text_edit crate 2018-12-10 22:09:12 +01:00
token_set.rs Run cargo fix 2018-10-15 19:55:32 +03:00
utils.rs Rename File -> SourceFileNode 2018-11-07 18:42:36 +03:00
validation.rs grand module rename 2018-12-08 19:30:35 +03:00
yellow.rs grand module rename 2018-12-08 19:30:35 +03:00