0

我需要创建一些全局可变变量,使用lazy_static!某些类型有效,但某些其他类型无效。互斥锁是用来改变值的。

这有效:

lazy_static! {
    static ref foo: Mutex<String>: Mutex::new("".to_string());
}

这不是(Function即 js_sys::Function)

lazy_static! {
    static ref bar: Mutex<Option<Function>> = Mutex::new(None);
}

错误是:*mut u8 is not safe to send between threads

我目前的解决方法是使用 thread_local!对于全局可变变量,但我需要线程。如何lazy_static与所有类型一起使用?

4

0 回答 0