Raw pointer несёт внешние обязательства
FFI descriptor требует согласованного `repr(C)`. `(null, 0)` обрабатывается до создания slice; для ненулевой длины caller гарантирует readable valid memory, после чего Rust копирует bytes во владение.
rust / УРОВЕНЬ 5
ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ
FFI descriptor требует согласованного `repr(C)`. `(null, 0)` обрабатывается до создания slice; для ненулевой длины caller гарантирует readable valid memory, после чего Rust копирует bytes во владение.
КОНТРОЛЬНАЯ ТОЧКА
Выберите все подходящие варианты. Ответ засчитывается только при точном совпадении набора.
02 / РЕВЬЮ КОДА
Исправьте `copy_from_ffi`: нулевая длина даёт пустой Vec без slice, non-empty null и oversized ввод отклоняются до чтения, valid bytes копируются в Rust-owned memory. Сохраните ABI и safety contract.
Runner ждёт отправки кода.