下面是一个例子:
struct Data<'arg> {
object: &'arg usize,
}
struct Holder {
data: *const ??
}
impl Holder {
pub fn new<'arg>(data: &Data<'arg>) -> Self {
Self { data }
}
}
字符串
应该如何完成它,以便“数据”保存任何生命周期的任何数据?
如果我使用*const dyn Trait
,它要求'arg outlives 'static。如果dyn Trait
的引用被传递给new,它要求它的引用比static的寿命长。
1条答案
按热度按时间scyqe7ek1#
您可以使用
'static
,并转换类型,但要注意不要实际暴露任何'static
对数据的引用,因为这将是不合理的:字符串