mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-28 18:43:01 +00:00
minor: Add a mbe test for parsing negative literals
This commit is contained in:
parent
b3e086ad10
commit
9d1364b730
2 changed files with 118 additions and 0 deletions
|
|
@ -483,6 +483,7 @@ impl DefMap {
|
|||
curr_per_ns = match curr.def {
|
||||
ModuleDefId::ModuleId(module) => {
|
||||
if module.krate != self.krate {
|
||||
// FIXME: Inefficient
|
||||
let path = ModPath::from_segments(
|
||||
PathKind::SELF,
|
||||
path.segments()[i..].iter().cloned(),
|
||||
|
|
|
|||
|
|
@ -356,3 +356,120 @@ fn expr_2021() {
|
|||
;"#]],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn minus_belongs_to_literal() {
|
||||
let decl = r#"
|
||||
(-1) => {-1};
|
||||
(- 2) => {- 2};
|
||||
(- 3.0) => {- 3.0};
|
||||
(@$lit:literal) => {$lit}
|
||||
"#;
|
||||
let check = |args, expect| check(Edition::CURRENT, Edition::CURRENT, decl, args, expect);
|
||||
check(
|
||||
"-1",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..2#ROOT2024 1:0@0..2#ROOT2024
|
||||
PUNCH - [alone] 0:0@10..11#ROOT2024
|
||||
LITERAL Integer 1 0:0@11..12#ROOT2024
|
||||
|
||||
-1"#]],
|
||||
);
|
||||
check(
|
||||
"- 1",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..3#ROOT2024 1:0@0..3#ROOT2024
|
||||
PUNCH - [alone] 0:0@10..11#ROOT2024
|
||||
LITERAL Integer 1 0:0@11..12#ROOT2024
|
||||
|
||||
-1"#]],
|
||||
);
|
||||
check(
|
||||
"-2",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..2#ROOT2024 1:0@0..2#ROOT2024
|
||||
PUNCH - [alone] 0:0@25..26#ROOT2024
|
||||
LITERAL Integer 2 0:0@27..28#ROOT2024
|
||||
|
||||
-2"#]],
|
||||
);
|
||||
check(
|
||||
"- 2",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..3#ROOT2024 1:0@0..3#ROOT2024
|
||||
PUNCH - [alone] 0:0@25..26#ROOT2024
|
||||
LITERAL Integer 2 0:0@27..28#ROOT2024
|
||||
|
||||
-2"#]],
|
||||
);
|
||||
check(
|
||||
"-3.0",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..4#ROOT2024 1:0@0..4#ROOT2024
|
||||
PUNCH - [alone] 0:0@43..44#ROOT2024
|
||||
LITERAL Float 3.0 0:0@45..48#ROOT2024
|
||||
|
||||
-3.0"#]],
|
||||
);
|
||||
check(
|
||||
"- 3.0",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..5#ROOT2024 1:0@0..5#ROOT2024
|
||||
PUNCH - [alone] 0:0@43..44#ROOT2024
|
||||
LITERAL Float 3.0 0:0@45..48#ROOT2024
|
||||
|
||||
-3.0"#]],
|
||||
);
|
||||
check(
|
||||
"@1",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..2#ROOT2024 1:0@0..2#ROOT2024
|
||||
LITERAL Integer 1 1:0@1..2#ROOT2024
|
||||
|
||||
1"#]],
|
||||
);
|
||||
check(
|
||||
"@-1",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..3#ROOT2024 1:0@0..3#ROOT2024
|
||||
PUNCH - [alone] 1:0@1..2#ROOT2024
|
||||
LITERAL Integer 1 1:0@2..3#ROOT2024
|
||||
|
||||
-1"#]],
|
||||
);
|
||||
check(
|
||||
"@1.0",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..4#ROOT2024 1:0@0..4#ROOT2024
|
||||
LITERAL Float 1.0 1:0@1..4#ROOT2024
|
||||
|
||||
1.0"#]],
|
||||
);
|
||||
check(
|
||||
"@-1.0",
|
||||
expect![[r#"
|
||||
SUBTREE $$ 1:0@0..5#ROOT2024 1:0@0..5#ROOT2024
|
||||
PUNCH - [alone] 1:0@1..2#ROOT2024
|
||||
LITERAL Float 1.0 1:0@2..5#ROOT2024
|
||||
|
||||
-1.0"#]],
|
||||
);
|
||||
check(
|
||||
"@--1.0",
|
||||
expect![[r#"
|
||||
ExpandError {
|
||||
inner: (
|
||||
1:0@1..2#ROOT2024,
|
||||
BindingError(
|
||||
"expected literal",
|
||||
),
|
||||
),
|
||||
}
|
||||
|
||||
SUBTREE $$ 1:0@0..6#ROOT2024 1:0@0..6#ROOT2024
|
||||
PUNCH - [joint] 1:0@1..2#ROOT2024
|
||||
PUNCH - [alone] 1:0@2..3#ROOT2024
|
||||
|
||||
--"#]],
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue