this post was submitted on 27 Oct 2024
54 points (96.6% liked)

Rust

6041 readers
9 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

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
[–] [email protected] 7 points 4 weeks ago (2 children)

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.

[–] [email protected] 11 points 4 weeks ago* (last edited 4 weeks ago)

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.

[–] Giooschi -1 points 4 weeks ago

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#.