| 1 |
# Worker threads must route through worker_runtime's panic-isolated seals |
| 2 |
# (spawn_worker / spawn_job / spawn_detached), never a bare thread::spawn. A bare |
| 3 |
# spawn is how the "stuck flag on panic" failure recurred across three ultra-fuzz |
| 4 |
# runs (loose_files, cleanup, streaming preview decode): each fix migrated the one |
| 5 |
# known site and the next run found another. Denying the primitive makes a new |
| 6 |
# bare worker spawn a build error; the legitimate spawn points carry an explicit |
| 7 |
# #[allow(clippy::disallowed_methods)] so they stay visible in review. |
| 8 |
disallowed-methods = [ |
| 9 |
{ path = "std::thread::spawn", reason = "route worker threads through worker_runtime::{spawn_worker, spawn_job, spawn_detached} for panic isolation" }, |
| 10 |
{ path = "std::thread::Builder::spawn", reason = "route worker threads through worker_runtime::{spawn_worker, spawn_job, spawn_detached} for panic isolation" }, |
| 11 |
] |
| 12 |
|