advanced
Безопасность памяти в Rust при FFI
Разработка безопасного интерфейса для взаимодействия с C-библиотеками с ручным управлением памятью.
📝 Prompt İçeriği
Разработайте Rust-обертку (FFI) для существующей C-библиотеки, которая выполняет асинхронные операции с коллбэками и возвращает указатель на структуру, выделяемую через malloc. Ваш код должен гарантировать безопасность памяти (memory safety) и отсутствие гонок данных (data races) в многопоточной среде. Опишите, как вы будете управлять жизненным циклом объектов (ownership), используете ли вы unsafe блоки, и как обеспечите корректность вызова деструктора (free) даже в случае паники в Rust-коде. Приведите пример кода с комментариями, объясняющими инварианты.