【发布时间】:2021-06-14 20:18:58
【问题描述】:
我知道这是一个 Rust 新手问题,但实际上我无法理解它。我需要从 Vulkano 库传递一个 PhysicalDevice。问题是,PhysicalDevice 有一个引用:
pub struct PhysicalDevice<'a> {
instance: &'a Arc<Instance>,
device: usize,
}
所以 Rust 不会编译我的神圣代码:
struct InstanceInfo<'a> {
instance: Arc<Instance>,
physical: PhysicalDevice<'a>,
// ...
}
// ...
fn instantiate() -> InstanceInfo<'static> {
// ...
let instance = Instance::new(None, &required_extensions, None).unwrap();
let physical = PhysicalDevice::enumerate(&instance).next().unwrap();
// ...
InstanceInfo { // cannot return value referencing local blah
instance,
physical,
// ...
}
}
我该如何解决这个问题?
【问题讨论】: