реализуют try .. catch .. механизмы ибо они не в писываются в идеологию языка... кто нибудь может сказать почему не вписываются ? И может быть мнение уже сообщества поменялось ?
Механизм реализован, catch_unwind
Паники не видны в системе типов
есть только коммент и то не всегда 🫠
"!" разве не?
Это не обязательно паника. Плюс в Rust любая функция может запаниковать, но в типах это не выражено
loop {}
ну в том числе
а, ты имеешь в виду что-то типа fn f() ->T! условного? Т, но может и спаниковать или уснуть в цикле
! же просто говорит компилятору о недостижимости кода с целью оптимизации. там я еще помню были реализации поддерживающие Result<T, !> и тд.. если loop без условия и без break то логично, что это будет !. так же и panic, unreachable, unreachable_unchecked
Я понимаю. Я просто сначала не понял, что Антон имеет в виду
Кстати вспомним еще один случай когда возвращаешь "!". Это match enum без вариантов. Например этот: https://doc.rust-lang.org/std/convert/enum.Infallible.html
Обсуждают сегодня