Skip to main content

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}