@@ -228,8 +228,6 @@ impl Condvar {
228
228
/// # Examples
229
229
///
230
230
/// ```
231
- /// #![feature(wait_until)]
232
- ///
233
231
/// use std::sync::{Arc, Mutex, Condvar};
234
232
/// use std::thread;
235
233
///
@@ -249,7 +247,7 @@ impl Condvar {
249
247
/// // As long as the value inside the `Mutex<bool>` is `false`, we wait.
250
248
/// let _guard = cvar.wait_until(lock.lock().unwrap(), |started| { *started }).unwrap();
251
249
/// ```
252
- #[ unstable ( feature = "wait_until" , issue = "47960 " ) ]
250
+ #[ stable ( feature = "wait_until" , since = "1.42.0 " ) ]
253
251
pub fn wait_until < ' a , T , F > (
254
252
& self ,
255
253
mut guard : MutexGuard < ' a , T > ,
@@ -433,8 +431,6 @@ impl Condvar {
433
431
/// # Examples
434
432
///
435
433
/// ```
436
- /// #![feature(wait_timeout_until)]
437
- ///
438
434
/// use std::sync::{Arc, Mutex, Condvar};
439
435
/// use std::thread;
440
436
/// use std::time::Duration;
@@ -462,7 +458,7 @@ impl Condvar {
462
458
/// }
463
459
/// // access the locked mutex via result.0
464
460
/// ```
465
- #[ unstable ( feature = "wait_timeout_until" , issue = "47960 " ) ]
461
+ #[ stable ( feature = "wait_timeout_until" , since = "1.42.0 " ) ]
466
462
pub fn wait_timeout_until < ' a , T , F > (
467
463
& self ,
468
464
mut guard : MutexGuard < ' a , T > ,
@@ -613,7 +609,6 @@ impl Drop for Condvar {
613
609
#[ cfg( test) ]
614
610
mod tests {
615
611
use crate :: sync:: atomic:: { AtomicBool , Ordering } ;
616
- /// #![feature(wait_until)]
617
612
use crate :: sync:: mpsc:: channel;
618
613
use crate :: sync:: { Arc , Condvar , Mutex } ;
619
614
use crate :: thread;
0 commit comments