diff options
Diffstat (limited to 'tests/ui/did_you_mean/issue-31424.rs')
-rw-r--r-- | tests/ui/did_you_mean/issue-31424.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/did_you_mean/issue-31424.rs b/tests/ui/did_you_mean/issue-31424.rs new file mode 100644 index 000000000..95ccf2a4c --- /dev/null +++ b/tests/ui/did_you_mean/issue-31424.rs @@ -0,0 +1,21 @@ +// forbid-output: &mut mut self + +struct Struct; + +impl Struct { + fn foo(&mut self) { + (&mut self).bar(); //~ ERROR cannot borrow + //~^ HELP try removing `&mut` here + } + + // In this case we could keep the suggestion, but to distinguish the + // two cases is pretty hard. It's an obscure case anyway. + fn bar(self: &mut Self) { + //~^ WARN function cannot return without recursing + //~^^ HELP a `loop` may express intention better if this is on purpose + (&mut self).bar(); //~ ERROR cannot borrow + //~^ HELP try removing `&mut` here + } +} + +fn main () {} |