Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #12185 - Veykril:parse-fix, r=Veykril
fix: Remap float parts as integers when parsed as indices cc https://github.com/rust-lang/rust-analyzer/pull/12149
bors 2022-05-07
parent 81b3e6d · parent dbb066b · commit 6f6e4ef
-rw-r--r--crates/parser/src/grammar.rs4
-rw-r--r--crates/parser/test_data/parser/inline/ok/0011_field_expr.rast6
2 files changed, 5 insertions, 5 deletions
diff --git a/crates/parser/src/grammar.rs b/crates/parser/src/grammar.rs
index 92f3302538..f68d7196c8 100644
--- a/crates/parser/src/grammar.rs
+++ b/crates/parser/src/grammar.rs
@@ -323,8 +323,8 @@ fn name_ref_or_index(p: &mut Parser) {
p.at(IDENT) || p.at(INT_NUMBER) || p.at(FLOAT_NUMBER_PART) || p.at_ts(FLOAT_LITERAL_FIRST)
);
let m = p.start();
- if p.at_ts(FLOAT_LITERAL_FIRST) {
- p.bump_remap(FLOAT_NUMBER_PART);
+ if p.at(FLOAT_NUMBER_PART) || p.at_ts(FLOAT_LITERAL_FIRST) {
+ p.bump_remap(INT_NUMBER);
} else {
p.bump_any();
}
diff --git a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast b/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast
index a1efb3a9fb..19fab593fa 100644
--- a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast
+++ b/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast
@@ -50,7 +50,7 @@ SOURCE_FILE
IDENT "x"
DOT "."
NAME_REF
- FLOAT_NUMBER_PART "0"
+ INT_NUMBER "0"
DOT "."
WHITESPACE " "
NAME_REF
@@ -67,10 +67,10 @@ SOURCE_FILE
IDENT "x"
DOT "."
NAME_REF
- FLOAT_NUMBER_PART "0"
+ INT_NUMBER "0"
DOT "."
NAME_REF
- FLOAT_NUMBER_PART "1"
+ INT_NUMBER "1"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT