Во-первых, вам не нужно писать [..]
Если вы действительно хотите паниковать, но также хотите отформатировать сообщение об ошибке, я думаю, я бы использовал assert!()
:
fn main() {
let x: Option<&str> = None;
assert!(x.is_some(), "the world is ending: {}", "foo");
let _x = x.unwrap();
}
Если вы хотите, вы также можете использовать unwrap
ящик:
use unwrap::unwrap;
fn main() {
let x: Option<&str> = None;
let _x = unwrap!(x, "the world is ending: {}", "foo");
}
Кроме того, оба эти методаизбегайте построения ошибки String
каждый раз, когда expect()
, поэтому format!()
вызывается.