29 lines
572 B
Rust
29 lines
572 B
Rust
//! what happens when we send a lot of items to an mpsc?
|
|
|
|
use std::sync::mpsc;
|
|
|
|
const NUMS: &[u8] = &[1, 3, 3, 7, 0xd, 0xe, 0xa, 0xd, 0xb, 0xe, 0xe, 0xf];
|
|
|
|
fn main() -> anyhow::Result<()> {
|
|
let (sender, receiver) = mpsc::channel();
|
|
|
|
for n in NUMS {
|
|
sender.send(n).unwrap();
|
|
}
|
|
drop(sender);
|
|
|
|
let mut collect = Vec::new();
|
|
|
|
while let Ok(n) = receiver.recv() {
|
|
collect.push(*n);
|
|
}
|
|
|
|
for i in NUMS {
|
|
assert!(collect.contains(i))
|
|
}
|
|
|
|
println!("it stores the values, even when the sender is dropped");
|
|
|
|
Ok(())
|
|
}
|