В Rust наблюдается такая тенденция, что ошибки в Result
возвращаются так:
fn do_something() -> Result<SomeType, Box<dyn std::error::Error>> {
// ...
}
Почему ошибки динамические?Исходя из опыта C ++ и предпочитая std::variant
классическому полиморфизму (я относительно новичок в ржавчине), у меня аллергия на динамические выделения, поэтому я использую их только тогда, когда это действительно необходимо.Я также считаю, что перечисления Rust удивительны тем, что включили в них варианты.Может кто-нибудь объяснить, почему не является стандартным / предпочтительным / распространенным использование ошибок в качестве enum?