summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs')
-rw-r--r--src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs40
1 files changed, 18 insertions, 22 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs
index 0c92e706b..10e637979 100644
--- a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs
+++ b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/break_outside_of_loop.rs
@@ -38,12 +38,12 @@ fn foo() {
}
#[test]
- fn try_blocks_are_borders() {
+ fn async_blocks_are_borders() {
check_diagnostics(
r#"
fn foo() {
'a: loop {
- try {
+ async {
break;
//^^^^^ error: break outside of loop
break 'a;
@@ -60,12 +60,12 @@ fn foo() {
}
#[test]
- fn async_blocks_are_borders() {
+ fn closures_are_borders() {
check_diagnostics(
r#"
fn foo() {
'a: loop {
- try {
+ || {
break;
//^^^^^ error: break outside of loop
break 'a;
@@ -82,21 +82,17 @@ fn foo() {
}
#[test]
- fn closures_are_borders() {
+ fn blocks_pass_through() {
check_diagnostics(
r#"
fn foo() {
'a: loop {
- try {
- break;
- //^^^^^ error: break outside of loop
- break 'a;
- //^^^^^^^^ error: break outside of loop
- continue;
- //^^^^^^^^ error: continue outside of loop
- continue 'a;
- //^^^^^^^^^^^ error: continue outside of loop
- };
+ {
+ break;
+ break 'a;
+ continue;
+ continue 'a;
+ }
}
}
"#,
@@ -104,17 +100,17 @@ fn foo() {
}
#[test]
- fn blocks_pass_through() {
+ fn try_blocks_pass_through() {
check_diagnostics(
r#"
fn foo() {
'a: loop {
- {
- break;
- break 'a;
- continue;
- continue 'a;
- }
+ try {
+ break;
+ break 'a;
+ continue;
+ continue 'a;
+ };
}
}
"#,