Traits Marker
Como o Rust sabe proibir o acesso compartilhado entre threads? A resposta está em dois traits:
Send
: um tipoT
éSend
se for seguro mover umT
entre threadsSync
: um tipoT
éSync
se for seguro mover um&T
entre threads
Send
e Sync
são unsafe traits. O compilador os derivará automaticamente para seus tipos desde que contenham apenas os tipos Send
e Sync
. Você também pode implementá-los manualmente quando souber que são válidos.
This slide should take about 2 minutes.
- Pode-se pensar nesses traits como marcadores de que o tipo possui certas propriedades de segurança de threads.
- Eles podem ser usados nas restrições genéricas como traits normais.