about summary refs log tree commit diff
path: root/src/test/ui/generator/yield-while-iterating.rs
diff options
context:
space:
mode:
authorWim Looman <wim@nemo157.com>2018-10-04 20:49:38 +0200
committerWim Looman <wim@nemo157.com>2019-01-27 22:58:53 +0100
commita3fdee9a7523a72a5ee72cdb4c1cf3c2cec444bc (patch)
tree127e574840d4994b33fcfc41a1b452bf5976829c /src/test/ui/generator/yield-while-iterating.rs
parent8611577360e66f90470bd40c498cf8d194f67926 (diff)
downloadrust-a3fdee9a7523a72a5ee72cdb4c1cf3c2cec444bc.tar.gz
rust-a3fdee9a7523a72a5ee72cdb4c1cf3c2cec444bc.zip
Change generator trait to use pinning
Diffstat (limited to 'src/test/ui/generator/yield-while-iterating.rs')
-rw-r--r--src/test/ui/generator/yield-while-iterating.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/test/ui/generator/yield-while-iterating.rs b/src/test/ui/generator/yield-while-iterating.rs
index b0966d2e921..e42781d1279 100644
--- a/src/test/ui/generator/yield-while-iterating.rs
+++ b/src/test/ui/generator/yield-while-iterating.rs
@@ -2,6 +2,7 @@
 
 use std::ops::{GeneratorState, Generator};
 use std::cell::Cell;
+use std::pin::Pin;
 
 fn yield_during_iter_owned_data(x: Vec<i32>) {
     // The generator owns `x`, so we error out when yielding with a
@@ -33,7 +34,7 @@ fn yield_during_iter_borrowed_slice_2() {
     println!("{:?}", x);
 }
 
-unsafe fn yield_during_iter_borrowed_slice_3() {
+fn yield_during_iter_borrowed_slice_3() {
     // OK to take a mutable ref to `x` and yield
     // up pointers from it:
     let mut x = vec![22_i32];
@@ -42,10 +43,10 @@ unsafe fn yield_during_iter_borrowed_slice_3() {
             yield p;
         }
     };
-    b.resume();
+    Pin::new(&mut b).resume();
 }
 
-unsafe fn yield_during_iter_borrowed_slice_4() {
+fn yield_during_iter_borrowed_slice_4() {
     // ...but not OK to do that while reading
     // from `x` too
     let mut x = vec![22_i32];
@@ -55,10 +56,10 @@ unsafe fn yield_during_iter_borrowed_slice_4() {
         }
     };
     println!("{}", x[0]); //~ ERROR
-    b.resume();
+    Pin::new(&mut b).resume();
 }
 
-unsafe fn yield_during_range_iter() {
+fn yield_during_range_iter() {
     // Should be OK.
     let mut b = || {
         let v = vec![1,2,3];
@@ -68,7 +69,7 @@ unsafe fn yield_during_range_iter() {
             yield x;
         }
     };
-    b.resume();
+    Pin::new(&mut b).resume();
 }
 
 fn main() { }