پیاده سازی صفات (Traits) ناامن

مانند توابع، اگر پیاده‌سازی باید شرایط خاصی را تضمین کند تا از رفتار نامشخص جلوگیری شود، می‌توانید یک ویژگی را به‌عنوان unsafe علامت‌گذاری کنید.

برای مثال، zerocopy crate یک ویژگی ناامن دارد که چیزی شبیه به این است:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 5 minutes.

باید یک بخش # Safety در Rustdoc برای این صفت (trait) وجود داشته باشد که شرایط لازم برای اجرای ایمن این trait را توضیح دهد.

بخش ایمنی واقعی برای AsBytes نسبتا طولانی‌تر و پیچیده‌تر است.

ویژگی‌های داخلیSend و Sync ناامن (unsafe) هستند.