Регистратор по умолчанию для main
, возвращающий Result
, должен использовать Debug
для отображения ошибки.Debug
в String
всегда экранирует '
с.
Если вы хотите изменить это поведение, вы должны самостоятельно обработать ошибку:
fn bad() -> Result<(), String> {
return Err("Can't avoid 'apostrophe' escapes.".to_string());
}
fn my_main() -> Result<(), String> {
println!("{}", "Can avoid 'apostrophe' escapes.".to_string());
bad()?;
Ok(())
}
fn main() {
if let Err(e) = my_main() {
println!("Error: {}", e);
}
}