Rellenar un static / const con una variable de entorno en tiempo de ejecución en Rust

Intento cargar contraseñas y datos confidenciales del entorno del sistema cuando se inicia mi servicio. He intentado varias formas diferentes, pero parece que no puedo encontrar la manera correcta de hacerlo en Rust.

const PASSWORD: String = var("PASSWORD").unwrap();

No funciona porquemethod calls in constants are limited to constant inherent methods. Lo mismo se aplica astatic (excepto que el error dice estática, obviamente).

La otra forma en que he visto hacerlo es

const PASSWORD: &'static str = env!("PASSWORD");

Pero el problema con eso es que se definirá en tiempo de compilación comoenv! es una macro (al menos eso entiendo).

También consideré simplemente terminar la llamada avar("...").unwrap() en una función, pero esa solución realmente no me sienta bien, y también permitiría que los valores cambien durante el tiempo de ejecución Y no los valide cuando comience el servicio.

Como puedes ver, soy nuevo en Rust. Realmente agradecería que en su respuesta no solo pudiera explicar cómo cargar la constante / estática en tiempo de ejecución, sino también explicar por qué lo que estoy haciendo es tonto e incorrecto :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta