// Check that the future-compat-lint for the reservation conflict is // handled like any other lint. // edition:2018 mod future_compat_allow { #![allow(mutable_borrow_reservation_conflict)] fn reservation_conflict() { let mut v = vec![0, 1, 2]; let shared = &v; v.push(shared.len()); } } mod future_compat_warn { #![warn(mutable_borrow_reservation_conflict)] fn reservation_conflict() { let mut v = vec![0, 1, 2]; let shared = &v; v.push(shared.len()); //~^ WARNING cannot borrow `v` as mutable //~| WARNING may become a hard error in the future } } mod future_compat_deny { #![deny(mutable_borrow_reservation_conflict)] fn reservation_conflict() { let mut v = vec![0, 1, 2]; let shared = &v; v.push(shared.len()); //~^ ERROR cannot borrow `v` as mutable //~| WARNING may become a hard error in the future } } fn main() {}