@@ -344,40 +344,42 @@ fn flatten_unordered() {
344344
345345 // nested `flatten_unordered`
346346 let te = ThreadPool :: new ( ) . unwrap ( ) ;
347- let handle = te. spawn_with_handle ( async move {
348- let inner = stream:: iter ( 0 ..10 )
349- . then ( |_| {
350- let task = Arc :: new ( AtomicBool :: new ( false ) ) ;
351- let mut spawned = false ;
352-
353- future:: poll_fn ( move |cx| {
354- if !spawned {
355- let waker = cx. waker ( ) . clone ( ) ;
356- let task = task. clone ( ) ;
357-
358- std:: thread:: spawn ( move || {
359- std:: thread:: sleep ( Duration :: from_millis ( 500 ) ) ;
360- task. store ( true , Ordering :: Release ) ;
361-
362- waker. wake_by_ref ( )
363- } ) ;
364- spawned = true ;
365- }
366-
367- if task. load ( Ordering :: Acquire ) {
368- Poll :: Ready ( Some ( ( ) ) )
369- } else {
370- Poll :: Pending
371- }
347+ let handle = te
348+ . spawn_with_handle ( async move {
349+ let inner = stream:: iter ( 0 ..10 )
350+ . then ( |_| {
351+ let task = Arc :: new ( AtomicBool :: new ( false ) ) ;
352+ let mut spawned = false ;
353+
354+ future:: poll_fn ( move |cx| {
355+ if !spawned {
356+ let waker = cx. waker ( ) . clone ( ) ;
357+ let task = task. clone ( ) ;
358+
359+ std:: thread:: spawn ( move || {
360+ std:: thread:: sleep ( Duration :: from_millis ( 500 ) ) ;
361+ task. store ( true , Ordering :: Release ) ;
362+
363+ waker. wake_by_ref ( )
364+ } ) ;
365+ spawned = true ;
366+ }
367+
368+ if task. load ( Ordering :: Acquire ) {
369+ Poll :: Ready ( Some ( ( ) ) )
370+ } else {
371+ Poll :: Pending
372+ }
373+ } )
372374 } )
373- } )
374- . map ( |_| stream:: once ( future:: ready ( ( ) ) ) )
375- . flatten_unordered ( None ) ;
375+ . map ( |_| stream:: once ( future:: ready ( ( ) ) ) )
376+ . flatten_unordered ( None ) ;
376377
377- let stream = stream:: once ( future:: ready ( inner) ) . flatten_unordered ( None ) ;
378+ let stream = stream:: once ( future:: ready ( inner) ) . flatten_unordered ( None ) ;
378379
379- assert_eq ! ( stream. count( ) . await , 10 ) ;
380- } ) . unwrap ( ) ;
380+ assert_eq ! ( stream. count( ) . await , 10 ) ;
381+ } )
382+ . unwrap ( ) ;
381383
382384 block_on ( handle) ;
383385}
0 commit comments