Cómo convertir String a &'static str en Rust
Hola a todos, acabo de empezar a aprender Rust y ya me encontré con un problema relacionado con los lifetimes. Tengo una función que devuelve &'static str, pero obtengo un String de la entrada del usuario (a través de stdin) o de alguna otra operación dinámica. ¿Cómo puedo convertir un String normal a &'static str?
Aquí hay un ejemplo de código que no compila:
```rust
fn get_static_string(input: String) -> &'static str {
&input
}
fn main() {
let my_string = String::from("hello");
let static_str = get_static_string(my_string);
println!("{}", static_str);
}
```
El compilador da el error: `cannot return reference to local variable 'input'`. Entiendo que esto se debe a que `input` será destruido después de salir de la función, pero necesito devolver exactamente `&'static str`. ¿Cómo puedo resolver este problema? ¿Quizás hay algún trait o función para "convertir" una cadena normal en una estática? He oído hablar de `Box::leak`, pero no estoy seguro de que sea el enfoque correcto. Estaré