Lập trình 03/11/2026 8 phút

Rust đo thật — borrow checker: mượn chia sẻ thì bất biến, &mut thì độc quyền; sửa vec khi đang duyệt hay cho &mut đụng một & đang sống đều là lỗi biên dịch E0502/E0499, còn trả tham chiếu tới biến cục bộ bị chặn ngay bằng E0515

Phần 2 sê-ri Rust đo thật: ta cần cho mượn giá trị mà không trao quyền sở hữu, và borrow checker áp đúng một luật — aliasing XOR mutability: nhiều tham chiếu chia sẻ & cùng lúc thì được, nhưng chỉ cần một &mut thì nó phải độc quyền. Đo trong container rust 1.99.1 bằng chính các lỗi biên dịch: &mut v khi một &v đang còn dùng cho E0502, hai &mut cùng lúc cho E0499, sửa vec giữa vòng for cho E0502 (chặn iterator invalidation — bug kinh điển của C++), trả tham chiếu tới biến cục bộ bị chặn bằng E0515. Nhờ non-lexical lifetime, push sau khi tham chiếu hết dùng vẫn biên dịch.