Struct std::sync::OnceState1.51.0[][src]

pub struct OnceState { /* fields omitted */ }
Expand description

状态产生于 [Once::call_once_force () ] 的闭包参数。 该状态可用于查询 Once 的中毒状态。

Implementations

如果关联的 Once 在调用传递给 Once::call_once_force() 的闭包之前中毒,则返回 true

Examples

中毒的 Once:

use std::sync::Once;
use std::thread;

static INIT: Once = Once::new();

// 中毒一次
let handle = thread::spawn(|| {
    INIT.call_once(|| panic!());
});
assert!(handle.join().is_err());

INIT.call_once_force(|state| {
    assert!(state.is_poisoned());
});
Run

无毒的 Once:

use std::sync::Once;

静态 INIT: 一次 = 一次: : new () ;

INIT.call_once_force (| state | {
    assert!(!state.is_poisoned());
});
Run

Trait Implementations

使用给定的格式化程序格式化该值。 Read more

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

从拥有的值中一成不变地借用。 Read more

从拥有的值中借用。 Read more

执行转换。

执行转换。

发生转换错误时返回的类型。

执行转换。

发生转换错误时返回的类型。

执行转换。