]> git.lizzy.rs Git - rust.git/blob - src/test/ui/span/borrowck-object-mutability.rs
Merge commit '3a31c6d8272c14388a34622193baf553636fe470' into sync_cg_clif-2021-07-07
[rust.git] / src / test / ui / span / borrowck-object-mutability.rs
1 trait Foo {
2     fn borrowed(&self);
3     fn borrowed_mut(&mut self);
4 }
5
6 fn borrowed_receiver(x: &dyn Foo) {
7     x.borrowed();
8     x.borrowed_mut(); //~ ERROR cannot borrow
9 }
10
11 fn borrowed_mut_receiver(x: &mut dyn Foo) {
12     x.borrowed();
13     x.borrowed_mut();
14 }
15
16 fn owned_receiver(x: Box<dyn Foo>) {
17     x.borrowed();
18     x.borrowed_mut(); //~ ERROR cannot borrow
19 }
20
21 fn mut_owned_receiver(mut x: Box<dyn Foo>) {
22     x.borrowed();
23     x.borrowed_mut();
24 }
25
26 fn main() {}