Valen's Borrow Checker Lets Multiple References Mutate the Same Data
Valen's Memory Safety: A New Kind of Borrow Checking
Valen introduces a flexible borrow checker based on group borrowing, which relaxes the shared-xor-mutable rule to only prevent use-after-free. The compiler tracks where each reference points, allowing patterns like multiple mutable references to the same object—common in C++ but previously impossible to check at compile time. This approach has already influenced Carbon, Ante, and other languages, and Valen aims to interoperate with Rust.
But group borrowing actually resolves the conflict, by relaxing "shared-xor-mutable" to "no use-after-free".