use std::io::ErrorKind; use std::sync::OnceLock; use std::thread::{self, Builder, ThreadId}; static THREAD_ID: OnceLock = OnceLock::new(); #[test] fn spawn_thread_would_block() { assert_eq!(Builder::new().spawn(|| unreachable!()).unwrap_err().kind(), ErrorKind::WouldBlock); THREAD_ID.set(thread::current().id()).unwrap(); } #[test] fn run_in_same_thread() { assert_eq!(*THREAD_ID.get().unwrap(), thread::current().id()); }