• @[email protected]
    link
    fedilink
    72 months ago

    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]
      link
      fedilink
      11
      edit-2
      2 months 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.

    • @GiooschiOP
      link
      English
      -12 months 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#.