что такие примеры overcomplicated синтаксические конструкции, меня отталкивают как интересующегося. Если поясните почему так, и можно ли проще, то возможно я пойму загадочный смысл, зачем в параметрах этот ад для глаз из impl =
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bf7a0289e396873a64095f06592c3f2a
дженерики
Просто надо там where было использовать - смотрелось бы чуть лучше.
Альтернатива: fn do_inspect<F, S, I>(fut: F) -> impl Future<Item = (), Error = ()> where F: Future<Item = S, Error = ()>, S: Stream<Item = I, Error = ()>, I: Debug, { fut.and_then(|s| { s.inspect(|i| { println!("{:?}", i); }).for_each(|_| Ok(())) }) }
Обсуждают сегодня