1 warning: function cannot return without recursing
2 --> $DIR/issue-51191.rs:16:5
4 LL | fn bar(self: &mut Self) {
5 | ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
6 LL | //~^ WARN function cannot return without recursing
7 LL | (&mut self).bar();
8 | ----------------- recursive call site
10 = note: #[warn(unconditional_recursion)] on by default
11 = help: a `loop` may express intention better if this is on purpose
13 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
14 --> $DIR/issue-51191.rs:18:9
16 LL | (&mut self).bar();
19 | cannot borrow as mutable
20 | try removing `&mut` here
22 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
23 --> $DIR/issue-51191.rs:23:9
26 | ---- help: consider changing this to be mutable: `mut self`
27 LL | (&mut self).bar();
28 | ^^^^^^^^^^^ cannot borrow as mutable
30 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
31 --> $DIR/issue-51191.rs:32:9
33 LL | (&mut self).bar();
34 | ^^^^^^^^^^^ cannot borrow as mutable
36 error[E0596]: cannot borrow data in a `&` reference as mutable
37 --> $DIR/issue-51191.rs:32:9
39 LL | (&mut self).bar();
40 | ^^^^^^^^^^^ cannot borrow as mutable
42 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
43 --> $DIR/issue-51191.rs:38:9
45 LL | (&mut self).bar();
48 | cannot borrow as mutable
49 | try removing `&mut` here
51 error: aborting due to 5 previous errors
53 For more information about this error, try `rustc --explain E0596`.