Rust uses runtime checking for array access bounds, which are the most common kind of memory safety vulnerability.