summaryrefslogtreecommitdiffstats
path: root/src/test/ui/nll/match-guards-always-borrow.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/nll/match-guards-always-borrow.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/src/test/ui/nll/match-guards-always-borrow.rs b/src/test/ui/nll/match-guards-always-borrow.rs
deleted file mode 100644
index 87dba187b..000000000
--- a/src/test/ui/nll/match-guards-always-borrow.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-// Here is arielb1's basic example from rust-lang/rust#27282
-// that AST borrowck is flummoxed by:
-
-fn should_reject_destructive_mutate_in_guard() {
- match Some(&4) {
- None => {},
- ref mut foo if {
- (|| { let bar = foo; bar.take() })();
- //~^ ERROR cannot move out of `foo` in pattern guard [E0507]
- false } => { },
- Some(s) => std::process::exit(*s),
- }
-}
-
-// Here below is a case that needs to keep working: we only use the
-// binding via immutable-borrow in the guard, and we mutate in the arm
-// body.
-fn allow_mutate_in_arm_body() {
- match Some(&4) {
- None => {},
- ref mut foo if foo.is_some() && false => { foo.take(); () }
- Some(s) => std::process::exit(*s),
- }
-}
-
-// Here below is a case that needs to keep working: we only use the
-// binding via immutable-borrow in the guard, and we move into the arm
-// body.
-fn allow_move_into_arm_body() {
- match Some(&4) {
- None => {},
- mut foo if foo.is_some() && false => { foo.take(); () }
- Some(s) => std::process::exit(*s),
- }
-}
-
-fn main() {
- should_reject_destructive_mutate_in_guard();
- allow_mutate_in_arm_body();
- allow_move_into_arm_body();
-}