gpt4 book ai didi

rust - 如何为“静态”创建变量借用?

转载 作者:行者123 更新时间:2023-12-05 00:52:37 25 4
gpt4 key购买 nike

vulkano 中,要创建一个 CPUAccessibleBuffer 你需要给它一些数据并且 CPUAccessibleBuffer::from_data 函数要求数据具有'静态生命周期。

我在 &[u8] 数组(在运行时创建)中有一些数据要传递给该函数。

但是,这条消息会出错

argument requires that `data` is borrowed for `'static`

那么我怎样才能使数据的生命周期'static

最佳答案

您应该使用 CpuAccessibleBuffer::from_iter 相反,它做同样的事情,但不需要集合是 Copy'static :

let data: &[u8] = todo!();

let _ = CpuAccessibleBuffer::from_iter(
device,
usage,
host_cached,
data.iter().copied(), // <--- pass like so
);

或者如果你真的有一个 Vec<u8> , 直接传即可:

let data: Vec<u8> = todo!();

let _ = CpuAccessibleBuffer::from_iter(
device,
usage,
host_cached,
data, // <--- pass like so
);

关于rust - 如何为“静态”创建变量借用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69888071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com