summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generator/addassign-yield.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generator/addassign-yield.rs')
-rw-r--r--src/test/ui/generator/addassign-yield.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/test/ui/generator/addassign-yield.rs b/src/test/ui/generator/addassign-yield.rs
deleted file mode 100644
index 66f22bf31..000000000
--- a/src/test/ui/generator/addassign-yield.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// run-pass
-// Regression test for broken MIR error (#61442)
-// Due to the two possible evaluation orders for
-// a '+=' expression (depending on whether or not the 'AddAssign' trait
-// is being used), we were failing to account for all types that might
-// possibly be live across a yield point.
-
-#![feature(generators)]
-
-fn foo() {
- let _x = static || {
- let mut s = String::new();
- s += { yield; "" };
- };
-
- let _y = static || {
- let x = &mut 0;
- *{ yield; x } += match String::new() { _ => 0 };
- };
-
- // Please don't ever actually write something like this
- let _z = static || {
- let x = &mut 0;
- *{
- let inner = &mut 1;
- *{ yield (); inner } += match String::new() { _ => 1};
- yield;
- x
- } += match String::new() { _ => 2 };
- };
-}
-
-fn main() {
- foo()
-}