use std::marker::PhantomData; mod scope; #[derive(Debug)] pub struct Scope<'scope, 'env: 'scope>(PhantomData<(&'env (), &'scope ())>); #[derive(Debug)] pub struct ScopedJoinHandle<'scope, T> { handle: std::thread::JoinHandle, _phantom: PhantomData<&'scope ()>, } pub struct JoinHandle { handle: std::thread::JoinHandle, key: crate::ThreadKey, } pub struct ThreadBuilder(std::thread::Builder);