【发布时间】:2020-10-08 00:57:52
【问题描述】:
在这个简单的示例中,renderer 的类型为 std::sync::Arc<std::sync::Mutex<(dyn Renderer + 'static)>>。这对我来说是我的代码现在的一个问题,我不知道为什么会发生。
use std::sync::Arc;
use std::sync::Mutex;
pub type OnConsume = Arc<dyn Fn() -> Option<u32> + Send + Sync>;
pub trait Renderer {
fn set_on_consume(&mut self, f: OnConsume);
}
pub struct Stream {
pub renderer: Arc<Mutex<dyn Renderer>>,
}
fn main() {}
为什么Arc<Mutex<dyn MyTrait>> 有静态生命周期?
【问题讨论】:
-
看看关于trait object lifetimes的书籍部分。
标签: rust