Реалізація небезпечних трейтів

Як і у випадку з функціями, ви можете позначити трейт unsafe, якщо реалізація повинна гарантувати певні умови, щоб уникнути невизначеної поведінки.

Наприклад, крейт zerocopy має небезпечний трейт, який виглядає приблизно так:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 5 minutes.

У Rustdoc має бути розділ # Safety для трейту, що пояснює вимоги до безпечної реалізації функції.

Фактичний розділ безпеки для IntoBytes довший і складніший.

Вбудовані Send та Sync трейти є небезпечними.