diff --git a/src/exercise.rs b/src/exercise.rs index b07d7a119c..283b2b900c 100644 --- a/src/exercise.rs +++ b/src/exercise.rs @@ -11,10 +11,15 @@ const I_AM_DONE_REGEX: &str = r"(?m)^\s*///?\s*I\s+AM\s+NOT\s+DONE"; const CONTEXT: usize = 2; const CLIPPY_CARGO_TOML_PATH: &str = "./exercises/clippy/Cargo.toml"; -// Get a temporary file name that is hopefully unique to this process +// Get a temporary file name that is hopefully unique #[inline] fn temp_file() -> String { - format!("./temp_{}", process::id()) + let thread_id: String = format!("{:?}", std::thread::current().id()) + .chars() + .filter(|c| c.is_alphanumeric()) + .collect(); + + format!("./temp_{}_{}", process::id(), thread_id) } // The mode of the exercise.