259e6eb1ee
entrypoints.Detect had no rust case, so nothing in a Rust repo was ever stamped as a live root. fn main, every #[test], and every #[no_mangle] export have no in-crate caller by construction, so a call-graph walk found them unreachable and the dead-code analyzer reported a binary crate's entire call tree as dead. Stamps the symbols a runtime other than application code calls: fn main in a Cargo binary target (src/main.rs, src/bin/*.rs, examples/, benches/, tests/ — a fn main in a library module stays an ordinary function), async-runtime mains behind #[tokio::main] / #[actix_web::main] / #[async_std::main] / #[rocket::main], test and bench harness attributes, and FFI exports reached from another language through #[no_mangle], #[wasm_bindgen], pyo3 and napi. Declarations inside an extern block are stamped rust:ffi-import for the opposite reason: their body lives in C, so a missing definition is not a missing implementation and must not be reported as one.