Preenchendo um static / const com uma variável de ambiente em tempo de execução no Rust
Estou tentando carregar senhas e dados confidenciais do ambiente do sistema quando meu serviço é iniciado. Eu tentei várias maneiras diferentes, mas não consigo descobrir a maneira certa de fazer isso no Rust.
const PASSWORD: String = var("PASSWORD").unwrap();
Não funciona porquemethod calls in constants are limited to constant inherent methods
. O mesmo se aplica astatic
(exceto que o erro diz estática, obviamente).
A outra maneira que eu vi fazer isso é
const PASSWORD: &'static str = env!("PASSWORD");
Mas o problema disso é que ele será definido em tempo de compilação comoenv!
é uma macro (pelo menos esse é o meu entendimento).
Também considerei simplesmente encerrar a chamada paravar("...").unwrap()
em uma função, mas essa solução realmente não é adequada para mim e também permitiria que os valores mudassem durante o tempo de execução E não os validassem quando o serviço iniciar.
Como você pode dizer, eu sou novo no Rust. Eu realmente aprecio se, na sua resposta, você não pudesse apenas explicar como carregar a const / static em tempo de execução, mas também explicar por que o que estou fazendo é burro e errado :)