Variáveis Estáticas Mutáveis
É seguro ler uma variável estática imutável:
No entanto, como podem ocorrer corridas de dados (data races), não é seguro ler e gravar dados em variáveis estáticas mutáveis:
Speaker Notes
This slide should take about 5 minutes.
-
O programa aqui é seguro porque é single-threaded. No entanto, o compilador Rust é conservador e assumirá o pior. Tente remover o
unsafe
e veja como o compilador explica que é um comportamento indefinido alterar uma variável estática de várias threads. -
Usar uma variável estática mutável geralmente é uma má ideia, mas há alguns casos em que isso pode fazer sentido, tais como em código
no_std
de baixo nível, como implementar um alocador de heap ou trabalhar com algumas APIs C.