In three most narrow definition of safety I agree. But that's a very narrow definition. Rust does offer a lot more:
- no undefined behavior
- many classes of concurrency bugs prevented by the type system
- standard library and much of the ecosystem makes invalid states unrepresentable. E.g. a String is always valid UTF8
Those are things that are true to varying degrees for other languages. Dart does pretty well imho. But for example Java and C# offer memory safety but have very unsafe concurrency
Or you have "standard" vest (without ceramic armor plates) and the shooter shelled out for handgun designed for (and with) armor-piercing ammo or PDW-class gun or higher powered cartridge in a full rifle.. etc ;)
- no undefined behavior
- many classes of concurrency bugs prevented by the type system
- standard library and much of the ecosystem makes invalid states unrepresentable. E.g. a String is always valid UTF8
Those are things that are true to varying degrees for other languages. Dart does pretty well imho. But for example Java and C# offer memory safety but have very unsafe concurrency