но без паник?
Вроде
let x = if let SomeEnum::First = variable {
return Err(());
} else {
match variable {
SomeEnum::Second => expr(),
SomeEnum::First => unreachable_without_panic!() // this
}
};
https://doc.rust-lang.org/std/hint/fn.unreachable_unchecked.html
А что должно произойти, если он все-таки выполнился?
Но лучше глянуть в главу Safety
Никогда не выполнится, зачем думать что должно произойти?
abort()?
Ну типа если ты не прав, и при каких-то условиях этот случай все-таки выполнится, то поведение программы будет неопреедленным и может случиться что угодно
Вот да, если совсем не хочется лишнего кода, то просто аборт.
Обсуждают сегодня