1 warning: function cannot return without recursing
2 --> $DIR/issue-51191.rs:4:5
4 LL | fn bar(self: &mut Self) {
5 | ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
7 LL | (&mut self).bar();
8 | ----------------- recursive call site
10 = help: a `loop` may express intention better if this is on purpose
11 = note: `#[warn(unconditional_recursion)]` on by default
13 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
14 --> $DIR/issue-51191.rs:7:9
16 LL | (&mut self).bar();
17 | ^^^^^^^^^^^ cannot borrow as mutable
19 note: the binding is already a mutable borrow
20 --> $DIR/issue-51191.rs:4:18
22 LL | fn bar(self: &mut Self) {
24 help: try removing `&mut` here
25 --> $DIR/issue-51191.rs:7:9
27 LL | (&mut self).bar();
30 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
31 --> $DIR/issue-51191.rs:13:9
34 | ---- help: consider changing this to be mutable: `mut self`
35 LL | (&mut self).bar();
36 | ^^^^^^^^^^^ cannot borrow as mutable
38 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
39 --> $DIR/issue-51191.rs:22:9
41 LL | (&mut self).bar();
42 | ^^^^^^^^^^^ cannot borrow as mutable
44 error[E0596]: cannot borrow data in a `&` reference as mutable
45 --> $DIR/issue-51191.rs:22:9
47 LL | (&mut self).bar();
48 | ^^^^^^^^^^^^^^^^^ cannot borrow as mutable
50 error[E0596]: cannot borrow `self` as mutable, as it is not declared as mutable
51 --> $DIR/issue-51191.rs:28:9
53 LL | (&mut self).bar();
54 | ^^^^^^^^^^^ cannot borrow as mutable
56 note: the binding is already a mutable borrow
57 --> $DIR/issue-51191.rs:27:16
59 LL | fn mtblref(&mut self) {
61 help: try removing `&mut` here
62 --> $DIR/issue-51191.rs:28:9
64 LL | (&mut self).bar();
67 error: aborting due to 5 previous errors; 1 warning emitted
69 For more information about this error, try `rustc --explain E0596`.