9
kod okuma tamamen netlik açısından makro unreachable!
varlığı mi, yoksa herhangi fonksiyonel avantajlar sağlıyor?kullanarak herhangi bir performans avantajları `ulaşılamaz!` Panik `vs var mıdır!`?
kod okuma tamamen netlik açısından makro unreachable!
varlığı mi, yoksa herhangi fonksiyonel avantajlar sağlıyor?kullanarak herhangi bir performans avantajları `ulaşılamaz!` Panik `vs var mıdır!`?
Evet unreachable!
macro (ve unimplemented!
çok) netlik için sadece destek. Doğrudan panic!
'a yönlendirmek için implemented vardır.
#[macro_export]
#[stable(feature = "rust1", since = "1.0.0")]
macro_rules! unreachable {
() => ({
panic!("internal error: entered unreachable code")
});
($msg:expr) => ({
unreachable!("{}", $msg)
});
($fmt:expr, $($arg:tt)*) => ({
panic!(concat!("internal error: entered unreachable code: ", $fmt), $($arg)*)
});
}
#[macro_export]
#[stable(feature = "rust1", since = "1.0.0")]
macro_rules! unimplemented {
() => (panic!("not yet implemented"))
}
değil
güvenli olmayan bir şube tamamen ulaşılmaz olan ileri sürerken, (unreachable
veya
debug_unreachable
kasalar ile stabil Rust erişilebilir)
unreachable
intrinsic ile karıştırılmamalıdır. Bu, optimizasyon yaparken şubenin tamamen kaldırılmasına izin verir. iddiası yanlış olduğu ortaya çıkarsa bu
unreachable!()
hangi sadece panik ile karşılaştırıldığında, istenmeyen davranışlara yol açabilir.