this post was submitted on 27 Oct 2024
53 points (96.5% liked)
Rust
6005 readers
4 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Is what the author calls a C# borrow checker purely lexically based? The first error message gives that impression. And if it is, then it wouldn't qualify for any such comparisons with 2018+ Rust.
It's 100% not a borrow checker because c# doesn't have borrowing. It's just static analysis to ensure memory safety. But the author acknowledges that.
It's just checking the scopes the variables are defined in in the first example.
It's a very different kind of borrow checking than Rust's. For example there's no mutability xor sharing checking, because mutability cannot invalidate memory (there's still a GC in C# after all!). As such, Rust's NLL (which are available in the 2015 edition too btw) don't really make sense in C#.