Size: a a a

2018 July 29

A

Anton 📦 ᯌ in Rust Async
источник

КМ

Кирилл Миронов (ark) in Rust Async
источник

D

Denis in Rust Async
тек-с, как этого бота сраного настраивать
источник

A

Anton 📦 ᯌ in Rust Async
а зачем тебе здесь бот?
источник

D

Denis in Rust Async
я видел слишком много каналов, которых постигла ужасная судьба из-за ёбаных спамеров
источник

D

Denis in Rust Async
в общем я хз будет ли группа пользоваться спросом, если нет, никогда не поздно её заабандонить )
источник

A

Alexander in Rust Async
Я правильно понимаю что ничего нового придумывать с ошибками кроме как заюзать failures нету?
источник

D

Denis in Rust Async
ни о чём новом не слышал
источник

D

Denis in Rust Async
failures + derive_more == profit
источник

D

Denis in Rust Async
источник

D

Denis in Rust Async
#[derive(Fail, Debug, From)]
pub enum PasteError {
   /// Input/output error.
   #[fail(display = "{}", _0)]
   Io(#[cause] io::Error),

   #[fail(display = "{}", _0)]
   /// ID decoder error.
   IdDecode(#[cause] base64::DecodeError),

   #[fail(display = "Utf8 error: {}", _0)]
   /// Failed converting into UTF-8 string.
   Utf8(#[cause] str::Utf8Error),

   #[fail(display = "Int parsing failed")]
   /// Failed parsing integer.
   ParseInt(#[cause] num::ParseIntError),
....
}

и автоматом будет работать ? для всех трёх "внутренних" ошибок
источник

D

Denis in Rust Async
незаменимая вещь при обработке ошибок, когда пишешь асинхронщину
источник

D

Denis in Rust Async
у Future (и Stream) есть волшебный метод from_err: https://docs.rs/tokio/0.1.7/tokio/prelude/future/trait.Future.html#method.from_err
источник

D

Denis in Rust Async
так что я обычно в итоге оборачиваю все внутренние ошибки в свою кастомную ошибку и получаю лютый профит )
источник

D

Denis in Rust Async
вместо бесконечных map_err
источник

D

Denis in Rust Async
причём обычно type inference работает так, что указывать дженерик-аргумент нужно либо один раз, либо вообще ноль
источник

A

Alexander in Rust Async
Попробую, а то иногда начинаю об эксепленах мечтать.
источник

A

Alexander in Rust Async
f1.and_then(f2). f1: кидает ошибки типа E1, a f2: кидает ошибки E2. такая конструкция требует чтобы ошибка была одного типа, хотя по сути то, что кидает f2 меня вообще не интересует.
источник

D

Denis in Rust Async
если тебя не интересует вообще возвращаемый тип всей конструкции, то и мапь всё на ()
источник

A

Alexander in Rust Async
так интересует, но только то что кидает f1, чтобы в features_retry хэндлить
источник