diff options
| author | yanglsh <yanglsh@shanghaitech.edu.cn> | 2025-05-28 15:45:22 +0800 |
|---|---|---|
| committer | yanglsh <yanglsh@shanghaitech.edu.cn> | 2025-05-29 20:59:49 +0800 |
| commit | 5290b1ee0d746d1231fe498d6e70d05365756c87 (patch) | |
| tree | 19001463c4b02341b3e6f327a41b50595fcf02cf /tests | |
| parent | 3927a61a546b0f134b3790d66ef73f1960e8bc8b (diff) | |
| download | rust-5290b1ee0d746d1231fe498d6e70d05365756c87.tar.gz rust-5290b1ee0d746d1231fe498d6e70d05365756c87.zip | |
fix: `collapsible_else_if` FP on conditionally compiled stmt
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/collapsible_else_if.fixed | 18 | ||||
| -rw-r--r-- | tests/ui/collapsible_else_if.rs | 18 |
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/ui/collapsible_else_if.fixed b/tests/ui/collapsible_else_if.fixed index 9f530ad670a..fed75244c6f 100644 --- a/tests/ui/collapsible_else_if.fixed +++ b/tests/ui/collapsible_else_if.fixed @@ -86,3 +86,21 @@ fn issue_7318() { }else if false {} //~^^^ collapsible_else_if } + +fn issue14799() { + use std::ops::ControlFlow; + + let c: ControlFlow<_, ()> = ControlFlow::Break(Some(42)); + if let ControlFlow::Break(Some(_)) = c { + todo!(); + } else { + #[cfg(target_os = "freebsd")] + todo!(); + + if let ControlFlow::Break(None) = c { + todo!(); + } else { + todo!(); + } + } +} diff --git a/tests/ui/collapsible_else_if.rs b/tests/ui/collapsible_else_if.rs index 2c646cd1d4d..e50e781fb69 100644 --- a/tests/ui/collapsible_else_if.rs +++ b/tests/ui/collapsible_else_if.rs @@ -102,3 +102,21 @@ fn issue_7318() { } //~^^^ collapsible_else_if } + +fn issue14799() { + use std::ops::ControlFlow; + + let c: ControlFlow<_, ()> = ControlFlow::Break(Some(42)); + if let ControlFlow::Break(Some(_)) = c { + todo!(); + } else { + #[cfg(target_os = "freebsd")] + todo!(); + + if let ControlFlow::Break(None) = c { + todo!(); + } else { + todo!(); + } + } +} |
