которая будет возвращать Result<T, E> внутри этой функции выполняются различные методы сторонних крейтов, соответственно я хочу прокинуть их ошибки наверх в результат своей функции, но т.к. ошибки эти разных типов, то получается мне нужно сделать свой enum с ошибками и для него реализовать From из каждого типа чужой ошибки, чтобы внутри своей функции приводить их все к моему типу ошибок и прокидывать наверх.
Или лучше делать как-то по другому?
да,норм. полистай вышеупомянутую https://t.me/rust_beginners_ru/179840
ну в общем-то так и предполагается
но принято использовать thiserror
А он работает если чужой тип с ошибками не имплементит std::error::Error ?
понаитерируют всяких либ что статей не наберешься)
снафу вроде уже не новый) но он принципиально отличается от других крейтов из статьи тем, что позволяет делать удобную обработку ошибок с контекстами без лишних аллокаций, прям супер-удобно, ничего подобного не встречал
Обсуждают сегодня