error[E0308]: mismatched types --> $DIR/issue-11374.rs:27:15 | LL | c.read_to(v); | ------- ^ expected `&mut [u8]`, found `Vec<_>` | | | arguments to this method are incorrect | = note: expected mutable reference `&mut [u8]` found struct `Vec<_>` note: method defined here --> $DIR/issue-11374.rs:13:12 | LL | pub fn read_to(&mut self, vec: &mut [u8]) { | ^^^^^^^ -------------- help: consider mutably borrowing here | LL | c.read_to(&mut v); | ++++ error[E0515]: cannot return value referencing local variable `r` --> $DIR/issue-11374.rs:20:5 | LL | Container::wrap(&mut r as &mut dyn io::Read) | ^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^ | | | | | `r` is borrowed here | returns a value referencing data owned by the current function error: aborting due to 2 previous errors Some errors have detailed explanations: E0308, E0515. For more information about an error, try `rustc --explain E0308`.