Pelo que entendi então, fazendo uma equivalência static se comporta como const de C, que aloca um endereço de memória, enquanto const se comporta como #define de C, que é resolvido em tempo de compilação.
Minha dúvida é, por exemplo, em C se eu fizer:
#define MY_CONST = (1. / 32.)Todas as ocorrências de MY_CONST no código serão substituídas por (1. / 32.), não pelo resultado (0.03125).
Se em Rust eu fizer:
const MY_CONST: f32 = 1.0 / 32.0;As ocorrências de MY_CONST serão substituídas por 1.0 / 32.0, como em C, ou pelo resultado 0.03125?
Essa dúvida faz sentido porque se for pela operação (como em C), isso pode gerar um overhead em alguns casos.