// Test for #56254. The last example originally failed with the ast checker, was // accidentally allowed under migrate/nll, then linted against in migrate mode // but disallowed under NLL. Now, we accept it everywhere. //ignore-compare-mode-polonius fn double_conflicts() { let mut v = vec![0, 1, 2]; let shared = &v; v.extend(shared); //~^ ERROR cannot borrow `v` as mutable } fn activation_conflict() { let mut v = vec![0, 1, 2]; v.extend(&v); //~^ ERROR cannot borrow `v` as mutable } fn reservation_allowed() { let mut v = vec![0, 1, 2]; let shared = &v; v.push(shared.len()); } fn main() {}