struct_threads/lib.rs
1pub mod traits;
2
3pub use traits::{Runnable, Thread};
4
5#[cfg(test)]
6mod tests {
7 use super::*;
8
9 struct TestTask(i32);
10 impl Runnable for TestTask {
11 type Output = i32;
12
13 fn run(self) -> Self::Output {
14 self.0 * 2
15 }
16 }
17
18 #[test]
19 fn it_works() {
20 let task = TestTask(10);
21 let handle = task.start();
22 assert_eq!(handle.join().unwrap(), 20);
23 }
24}