From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/nll/match-cfg-fake-edges.rs | 42 --------------------------------- 1 file changed, 42 deletions(-) delete mode 100644 src/test/ui/nll/match-cfg-fake-edges.rs (limited to 'src/test/ui/nll/match-cfg-fake-edges.rs') diff --git a/src/test/ui/nll/match-cfg-fake-edges.rs b/src/test/ui/nll/match-cfg-fake-edges.rs deleted file mode 100644 index 252f7f8ba..000000000 --- a/src/test/ui/nll/match-cfg-fake-edges.rs +++ /dev/null @@ -1,42 +0,0 @@ -// Test that we have enough false edges to avoid exposing the exact matching -// algorithm in borrow checking. - -fn guard_always_precedes_arm(y: i32) { - let mut x; - // x should always be initialized, as the only way to reach the arm is - // through the guard. - match y { - 0 | 2 if { x = 2; true } => x, - _ => 2, - }; -} - -fn guard_may_be_skipped(y: i32) { - let x; - // Even though x *is* always initialized, we don't want to have borrowck - // results be based on whether patterns are exhaustive. - match y { - _ if { x = 2; true } => 1, - _ if { - x; //~ ERROR E0381 - false - } => 2, - _ => 3, - }; -} - -fn guard_may_be_taken(y: bool) { - let x = String::new(); - // Even though x *is* never moved before the use, we don't want to have - // borrowck results be based on whether patterns are disjoint. - match y { - false if { drop(x); true } => 1, - true => { - x; //~ ERROR use of moved value: `x` - 2 - } - false => 3, - }; -} - -fn main() {} -- cgit v1.2.3