Conversation

Why can't you just add a lifetime analysis/borrow checker to your favorite memory-unsafe language? Because Rust's static analysis does just one thing: makes sure you're following Rust's rules. But you aren't following those rules. So it won't work.
3
155
What people who say they want a borrow check for C/C++/Zig/etc really want is a system that will automatically achieve memory safety without giving the programmer strict rules to follow. That technology exists and is very mature: garbage collection.
9
229
Java has data races in the same sense that Rust has data races via atomics. It's not the kind of data race you get in C where it's totally unsafe with no guarantees and memory/type safety exists despite it. Java didn't take the shortcut that Go did where races can corrupt memory.
1
4
Replying to and
Rust makes many of the dynamic errors in Java into static errors. I see it as more of a general thing rather than restricting data races to atomics being something that stands out in particular. Java is barely a statically typed language at all with all the reflection / casting.
1