и потом использовать? С конверсией указателя в *mut u8, естественно. MIRI не ругается, но что-то не уверен, что это не UB.
Ты же не трансмутишь прямо с T, ты трансмутишь мономорфизированный вариант. Вот совпадает ли такой вариант с просто функцией - хороший вопрос
а тебе потом в fn(*mut u8) не нужно знать оригинальный тип T?
Нет. Это я думаю как стереть тип в drop_in_place::<T>
ну если ты вместо u8 возьмешь c_void (ты же для сишки это делаешь?) то думаю норм. Если нет то хз
Не для сишки. Для bump allocator. Ладно, может Copy типами получится обойтись.
Кстати с extern "C" fn(...) должно быть норм наверное
О, оказывается можно делать extern "C" дженерики. Точно, спасибо
Обсуждают сегодня