Implementando Traits Inseguros

Assim como nas funções, você pode marcar um trait como unsafe se a implementação precisa garantir condições particulares para evitar comportamento indefinido.

Por exemplo, o crate zerocopy tem um trait inseguro que parece algo assim:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 5 minutes.

Deve haver uma seção # Safety no Rustdoc para o trait explicando os requisitos para ser implementado com segurança.

Na verdade, a seção de segurança para AsBytes é bem mais longa e complicada.

Os traits integrados Send e Sync são inseguros.