summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2022-07-06 14:25:55 +0300
committerYuval Adam <_@yuv.al>2022-07-06 14:25:55 +0300
commit06d3f26bcd4a0d3e8c5bb243670542ea1db70f46 (patch)
treebba3e011863c2596df3f312e1875393a1b50f100 /src
parentc37c438348bb24831406ab22e5dc6e56b5d93203 (diff)
Implement print_sink
Diffstat (limited to 'src')
-rw-r--r--src/main.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index c583dc9..c82d35d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -71,13 +71,18 @@ fn double<S: Stream<Item = u32>>(input: S) -> impl Stream<Item = u32> {
}
}
+fn print_sink<S: Stream<Item = u32>>(input: S) -> impl Stream<Item = ()> {
+ stream! {
+ for await val in input {
+ print!("{}", val);
+ }
+ }
+}
+
#[tokio::main]
async fn main() {
let number_source = NumberSource { i: 0 };
- let s = double(number_source);
+ let s = print_sink(double(number_source));
pin_mut!(s); // needed for iteration
-
- while let Some(value) = s.next().await {
- println!("got {}", value);
- }
+ s.next().await;
}