memory-safe language
A programming language whose rules, checked by the compiler and at run time, stop a program from reading or writing memory it doesn't own.
A memory-safe language (Rust's safe subset, Java, C#, Go, Swift, Python) prevents spatial and temporal memory errors by construction (bounds checks, ownership or garbage collection, no unchecked pointer arithmetic), so whole classes of the bugs these mitigations guard against cannot be written outside explicitly unsafe code.
See also