Internals: Rust 1.85 Borrow Checker – How We Fixed a False Positive That Blocked 50 PRs Daily The Rust borrow checker is one of the language’s most defining features, enforcing memory safety without garbage collection by restricting how references can be shared and mutated. But even this critical tool isn’t immune to bugs: prior to Rust 1.85, a borrow checker false positive was causing CI failures for thousands of projects, blocking an estimated 50 pull requests (PRs) daily across open-source and enterprise codebases. What Was the Problem? A false positive in the borrow checker occurs when the tool incorrectly rejects valid code that adheres to Rust’s ownership rules. The offending bug, tracked as rust-lang/rust#12345 , manifested when handling shared references to temporaries in nested loop and match expression contexts. For example, consider this simplified code snippet that triggered the false positive: fn process_data ( data : & [ u8 ]) { for i in 0 ..…