use std::thread; fn main() { // When we have not set the name... thread::spawn(|| { assert!(thread::current().name().is_none()); }); // ... and when we have set it. thread::Builder::new() .name("childthread".to_string()) .spawn(move || { assert_eq!(thread::current().name().unwrap(), "childthread"); }) .unwrap() .join() .unwrap(); // Long thread name. let long_name = std::iter::once("test_named_thread_truncation") .chain(std::iter::repeat(" long").take(100)) .collect::(); thread::Builder::new() .name(long_name.clone()) .spawn(move || { assert_eq!(thread::current().name().unwrap(), long_name); }) .unwrap() .join() .unwrap(); // Also check main thread name. assert_eq!(thread::current().name().unwrap(), "main"); }