Size: a a a

2018 July 29

D

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

A

Alexander in Rust Async
Да, я удивился, так как на этом коде и select работал норм.
источник

A

Alexander in Rust Async
Alexander
Каждая фьюча должна сама заворачивать свою ошибку в FError<Error, FError> как-то так.
Получается тут должно вернуться FError<(), db_err>, типы типа разные, но если типа это пюпередещать плоско, то это опять получится enum {l1err: ... ,l2err:...}
источник

A

Alexander in Rust Async
И вывод => похоже это в любом случае enum => похоже я лоханулся, сорян.
источник

D

Denis in Rust Async
АДТ он и есть АДТ :)
источник

A

Alexander in Rust Async
Хотя тогда другой тип надо:
источник

A

Alexander in Rust Async
FError := First<Error> | Inner<FError>
источник

D

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

D

Denis in Rust Async
Лан, всё, я спать, утром почитаю)
источник

A

Alexander in Rust Async
Мне кажется это огонь. Я пока конечно просто посмотрел глазами, но потенциально избавляет от всякий возни с енамами.
источник

A

Alexander in Rust Async
Ну да, придется в handle_error для features-retry матчить не енам, а многоуровневый тупл, но не всё ли равно что матчить. Зато никаких рисований enum.
источник

A

Alexander in Rust Async
Потенциально очень удобно - никаких приведений ошибок каждого уровня к одному типу. Да, наверное не супер для тех у кого большие вложенности фьючей с одинаковыми типами ошибок, но у меня , например , всего 3 (надеюсь) и я точно знаю кто что кидает на каком уровне => удобнее тупл заматчить.
источник

A

Alexander in Rust Async
Тем более что никто не запрещает комбинировать and_then с and_then2
источник

D

Denis in Rust Async
Збс)
источник

D

Denis in Rust Async
Alexander
Тем более что никто не запрещает комбинировать and_then с and_then2
источник

K

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

D

Denis in Rust Async
стикеры найс)
источник

А⚙

Антон ⚙️ in Rust Async
источник

A

Alexander in Rust Async
error[E0599]: no method named and_then2 found for type std::boxed::Box<(dyn futures::Future<Item=(tokio_tungstenite::WebSocketStream<tokio_tungstenite::stream::Stream<tokio_core::net::TcpStream, tokio_tls::TlsStream<tokio_core::net::TcpStream>>>, tokio_tungstenite::tungstenite::handshake::client::Response), Error=tokio_tungstenite::tungstenite::Error> + 'static)> in the current scope
 --> src\bin\fh-l2.rs:86:10
источник

A

Alexander in Rust Async
как обычно начинается наворачивание разных типов :)
источник