]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-3609.rs
Rollup merge of #62337 - Mark-Simulacrum:fix-cpu-usage-script, r=alexcrichton
[rust.git] / src / test / ui / issues / issue-3609.rs
1 // build-pass (FIXME(62277): could be check-pass?)
2 #![allow(unused_must_use)]
3 #![allow(dead_code)]
4 #![allow(unused_mut)]
5 use std::thread;
6 use std::sync::mpsc::Sender;
7
8 type RingBuffer = Vec<f64> ;
9 type SamplesFn = Box<dyn FnMut(&RingBuffer) + Send>;
10
11 enum Msg
12 {
13     GetSamples(String, SamplesFn), // sample set name, callback which receives samples
14 }
15
16 fn foo(name: String, samples_chan: Sender<Msg>) {
17     thread::spawn(move|| {
18         let mut samples_chan = samples_chan;
19
20         let callback: SamplesFn = Box::new(move |buffer| {
21             for i in 0..buffer.len() {
22                 println!("{}: {}", i, buffer[i])
23             }
24         });
25
26         samples_chan.send(Msg::GetSamples(name.clone(), callback));
27     }).join();
28 }
29
30 pub fn main() {}