работать?
#[derive(Default)]
struct A {
value: i32,
}
struct B {
data: Cell<A>,
}
fn get_value(b: &B) -> &i32 {
let a = b.data.take();
let value = &a.value;
b.data.set(a);
value
}
Потому что следующий вызов get_value делал бы предыдущий результат невалидным
а нельзя Cell<T> конвертировать в &T?
Вообще с ансейфом можно, &Cell<T> имеет as_ptr
я пытаюсь сделать без unsafe
Обсуждают сегодня