сделать примерно вот такую структуру (при этом она должна быть глобальной):
struct Frank<'a> {
instance: Instance,
allocate: Func<'a, i32, i32>,
deallocate: Func<'a, (i32, i32), ()>,
invoke: Func<'a, (i32, i32), i32>
}
последние три поля содержат ссылку на первое и ещё несколько полей. Как я понимаю, тут нужно что-то типа partial struct initialization, потому что сначала нужно создать Pin<Box<Frank>>, а потом инициализировать последние три поля на основе первого. Вопрос, что делать, если последние три не имеют какого-то дефолтного значения? Использовать Option или MaybeUninit?
обычно Option, вроде, годится для подтыкания таких мест
Обсуждают сегодня