]> git.lizzy.rs Git - rust.git/blob - src/test/ui/span/borrowck-object-mutability.rs
Rollup merge of #87922 - Manishearth:c-enum-target-spec, r=nagisa,eddyb
[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() {}