Skip to content

Commit 3b23269

Browse files
committed
Fix tests
1 parent 727ae5d commit 3b23269

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

src/test/run-pass/generator/implicit-argument-dead-when-suspended.rs

+15-10
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,31 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![feature(generators)]
11+
#![feature(generators, generator_trait)]
1212

13-
use std::cell::Cell;
13+
use std::ops::Generator;
14+
use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT, Ordering};
1415

15-
struct Flag<'a>(&'a Cell<bool>);
16+
static A: AtomicUsize = ATOMIC_USIZE_INIT;
1617

17-
impl<'a> Drop for Flag<'a> {
18+
struct B;
19+
20+
impl Drop for B {
1821
fn drop(&mut self) {
19-
self.0.set(false)
22+
A.fetch_add(1, Ordering::SeqCst);
2023
}
2124
}
2225

2326
fn main() {
24-
let alive = Cell::new(true);
27+
let b = B;
2528

26-
let gen = || {
29+
let mut gen = || {
2730
yield;
2831
};
2932

30-
gen.resume(Flag(&alive));
31-
32-
assert_eq!(alive.get(), false);
33+
assert_eq!(A.load(Ordering::SeqCst), 0);
34+
gen.resume(b);
35+
assert_eq!(A.load(Ordering::SeqCst), 1);
36+
drop(gen);
37+
assert_eq!(A.load(Ordering::SeqCst), 1);
3338
}

src/test/run-pass/generator/iterator-count.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ fn main() {
3737
let end = 11;
3838

3939
let closure_test = |start| {
40-
|| {
40+
move || {
4141
for i in start..end {
4242
yield i
4343
}

0 commit comments

Comments
 (0)