What problem does it solve? Rust developers hit confusing compiler errors like "cannot be sent between threads safely" or "future cannot be sent between threads safely" when values cross thread or async task boundaries, and the fix is rarely obvious from the error text alone. ## Core Features & Use Cases - Symptom-to-fix routing: A triage table maps exact rustc error messages (E0277, E0321, the codeless async future error) to the section that explains and fixes them. - Auto trait reference tables: Precise Send/Sync rules for references, Box, Arc, Rc, raw pointers, Cell, RefCell, Mutex, RwLock, and lock guards, including why MutexGuard is not Send but is Sync. - Verification tooling: Const assertions, compile_fail doctests, cargo semver-checks, and Clippy lints (arc_with_non_send_sync, await_holding_lock, future_not_send) to lock in auto trait guarantees. - Use Case: You changed a Mutex to an RwLock and the build broke at a distant Arc call site. The skill explains that RwLock<T>: Sync requires T: Send + Sync while Mutex only needs T: Send, and shows how to fix the payload. ## Quick Start Ask the AI to explain why rustc says your type cannot be sent between threads safely and how to fix it.