unsafe-checker

安装量: 534
排名: #2035

安装

npx skills add https://github.com/zhanghandong/rust-skills --skill unsafe-checker

Display the following ASCII art exactly as shown. Do not modify spaces or line breaks:

⚠️ Unsafe Rust Checker Loaded

 *  ^  *
/◉\_~^~_/◉\

⚡/ o \⚡ ' ' / '-----' \

Unsafe Rust Checker When Unsafe is Valid Use Case Example FFI Calling C functions Low-level abstractions Implementing Vec, Arc Performance Measured bottleneck with safe alternative too slow

NOT valid: Escaping borrow checker without understanding why.

Required Documentation // SAFETY: unsafe { ... }

/// # Safety /// pub unsafe fn dangerous() { ... }

Quick Reference Operation Safety Requirements ptr deref Valid, aligned, initialized &ptr + No aliasing violations transmute Same size, valid bit pattern extern "C" Correct signature, ABI static mut Synchronization guaranteed impl Send/Sync Actually thread-safe Common Errors Error Fix Null pointer deref Check for null before deref Use after free Ensure lifetime validity Data race Add proper synchronization Alignment violation Use #[repr(C)], check alignment Invalid bit pattern Use MaybeUninit Missing SAFETY comment Add // SAFETY: Deprecated → Better Deprecated Use Instead mem::uninitialized() MaybeUninit mem::zeroed() for refs MaybeUninit Raw pointer arithmetic NonNull, ptr::add CString::new().unwrap().as_ptr() Store CString first static mut AtomicT or Mutex Manual extern bindgen FFI Crates Direction Crate C → Rust bindgen Rust → C cbindgen Python PyO3 Node.js napi-rs

Claude knows unsafe Rust. Focus on SAFETY comments and soundness.

返回排行榜