// Issue #90528: provide helpful suggestions when a trait bound is unsatisfied // due to a missed unsizing coercion. // // This test exercises array variables and a trait implemented on mutable slices. trait Write {} impl Write for &mut [u8] {} fn wants_write(_: impl Write) {} fn main() { let mut x = [0u8]; wants_write(x); //~^ ERROR the trait bound `[u8; 1]: Write` is not satisfied wants_write(&mut x); //~^ ERROR the trait bound `&mut [u8; 1]: Write` is not satisfied wants_write(&mut x[..]); let x = &mut [0u8]; wants_write(x); //~^ ERROR the trait bound `&mut [u8; 1]: Write` is not satisfied wants_write(*x); //~^ ERROR the trait bound `[u8; 1]: Write` is not satisfied wants_write(&mut x[..]); }