если человек пишет такой вопрос скорее всего он знает зачем ему это
Переношу код из C библиотеки в Rust - это там такая оптимизация. Но там на указателях всё, и просто в конце функции делается free для исходного указателя на буфер f64
Переношу код из C библиотеки в Rust - это там такая оптимизация. Но там на указателях всё, и просто в конце функции делается free для исходного указателя на буфер f64
ну ты можешь попробовать вручную аллоцировать память, и играться вручную в функции, а возвращать вектор. наверное. но я бы без опыта не лез в это.
Переношу код из C библиотеки в Rust - это там такая оптимизация. Но там на указателях всё, и просто в конце функции делается free для исходного указателя на буфер f64
А тогда тебе точно Vec<i32> нужен, а не &mut [i32], если в С это была стековая переменная?
Ну тогда когда с f64 покончено, можно сделать vec.align_to_mut() (или вручную указатели покастовать (std::slice::from_raw_parts_mut(vec.as_ptr_mut(), vec.len()*2)), если там LLVM почему-то не прооптимизирует) и сделать &mut [f64] -> &mut [i32]