trait Foo { | |
fn borrowed(&self); | |
fn borrowed_mut(&mut self); | |
} | |
fn borrowed_receiver(x: &dyn Foo) { | |
x.borrowed(); | |
x.borrowed_mut(); //~ ERROR cannot borrow | |
} | |
fn borrowed_mut_receiver(x: &mut dyn Foo) { | |
x.borrowed(); | |
x.borrowed_mut(); | |
} | |
fn owned_receiver(x: Box<dyn Foo>) { | |
x.borrowed(); | |
x.borrowed_mut(); //~ ERROR cannot borrow | |
} | |
fn mut_owned_receiver(mut x: Box<dyn Foo>) { | |
x.borrowed(); | |
x.borrowed_mut(); | |
} | |
fn main() {} |