Convertendo Option<String> para Option<&str> em Rust: como fazer corretamente?
Olá a todos! Comecei a estudar Rust recentemente e me deparei com um problema de conversão de tipos. Tenho uma função que retorna `Option`, mas preciso passar seu resultado para outra função que espera `Option<&str>`.
Aqui está um exemplo simplificado:
```rust
fn get_name() -> Option {
Some("Alice".to_string())
}
fn print_name(name: Option<&str>) {
match name {
Some(n) => println!("Hello, {}", n),
None => println!("No name provided"),
}
}
fn main() {
let name = get_name();
// Como passar name para print_name?
print_name(name); // Erro de compilação!
}
```
O compilador emite o erro: `expected Option<&str>, found Option`. Eu entendo que `String` e `&str` são tipos diferentes, mas como converter corretamente `Option