E0200E0200 — Небезопасный трейт требует реализации unsafe impl
Небезопасный трейт должен реализовываться с помощью блока unsafe impl.
Что вызывает эту ошибку
Трейт объявлен как небезопасный, что означает обязанность реализатора соблюдать определённые инварианты. Блок impl также должен быть помечен как unsafe, подтверждая осведомлённость об этих требованиях безопасности.
Как исправить
Добавьте ключевое слово unsafe к блоку impl: unsafe impl MyTrait for MyType. Добавьте комментарий о безопасности, в котором описано, какие инварианты вы соблюдаете.
Связанные коды ошибок
E0317E0317 — В выражении if может отсутствовать ветка else
Выражение if, используемое как значение, не имеет ветки else.
E0119E0119 — Конфликт реализаций трейта
Для одного и того же типа существует две или более реализации одного трейта.
panic-divide-by-zeroPanic — Деление на ноль
Программа аварийно завершилась из-за целочисленного деления на ноль.
E0255E0255 — Конфликт имени с импортом
Локальное определение конфликтует с импортированным именем.
E0599E0599 — Метод X не найден для типа
Метод не существует для данного типа, либо требуемый трейт не импортирован в область видимости.
E0596E0596 — Невозможно заимствовать как изменяемое
Выполняется попытка получить изменяемую ссылку на значение, не объявленное как изменяемое.