Remix.run Logo
nnevatie 14 hours ago

> what this adds

I guess the point is what is subtracts, instead - answer being the borrow-checker.

petcat 14 hours ago | parent | next [-]

> answer being the borrow-checker

There is an entire world in Rust where you never have to touch the borrow-checker or lifetimes at all. You can just clone or move everything, or put everything in an Arc (which is what most other languages are doing anyway). It's very easy to not fight the compiler if you don't want to.

Maybe the real fix for Rust (for people that don't want to care), is just a compiler mode where everything is Arc-by-default?

Ygg2 14 hours ago | parent | prev [-]

So it re-adds manual lifetime checking. Got it.

askyng 6 hours ago | parent [-]

It might or might not be a toy project, I'm not sure, but one advantage of subtracting the borrow checking is that the compiler avoids a lot of complex machinery.

Borrow checking in Rust isn't sound AFAIK, even after all these years, so some of the problems with designing and implementing lifetimes, region checking, and borrow checking algorithms, aren't trivial.