rust ругается, что не может сделать из time::error::Format в std::fmt::Error
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=d99af5ad4f160cd201ed211153423c12
Ничего кроме стандартного let time_string = match self.time.format(&format) { Ok(time_string) => time_string, Err(_) => return Err(std::fmt::Error), }; в голову не приходит
Если тебе один раз, то можно как выше подсказывают. А если постоянно такое встречается и в более-менее большом проекте, то обычно оборачивают ошибку в свою собственную через thiserror или anyhow
А как это сделать, если тип ошибки навязан трейтом Display?
Спасибо, сделал так .format(&format).map_err(|_| fmt::Error)?;
Да, так компактнее! 👍
если прямо этот конкретный случа, то как Денис советует
Обсуждают сегодня