From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- ...based-on-type-no-recursive-stack-closure.stderr | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/test/ui/moves/moves-based-on-type-no-recursive-stack-closure.stderr (limited to 'src/test/ui/moves/moves-based-on-type-no-recursive-stack-closure.stderr') diff --git a/src/test/ui/moves/moves-based-on-type-no-recursive-stack-closure.stderr b/src/test/ui/moves/moves-based-on-type-no-recursive-stack-closure.stderr new file mode 100644 index 000000000..4759b4589 --- /dev/null +++ b/src/test/ui/moves/moves-based-on-type-no-recursive-stack-closure.stderr @@ -0,0 +1,28 @@ +error[E0499]: cannot borrow `*f` as mutable more than once at a time + --> $DIR/moves-based-on-type-no-recursive-stack-closure.rs:20:27 + | +LL | (f.c)(f, true); + | ----- ^ second mutable borrow occurs here + | | + | first mutable borrow occurs here + | first borrow later used by call + +error[E0382]: borrow of moved value: `f` + --> $DIR/moves-based-on-type-no-recursive-stack-closure.rs:32:5 + | +LL | fn conspirator(mut f: F) where F: FnMut(&mut R, bool) { + | ----- move occurs because `f` has type `F`, which does not implement the `Copy` trait +LL | let mut r = R {c: Box::new(f)}; + | - value moved here +LL | f(&mut r, false) + | ^ value borrowed here after move + | +help: consider mutably borrowing `f` + | +LL | let mut r = R {c: Box::new(&mut f)}; + | ++++ + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0382, E0499. +For more information about an error, try `rustc --explain E0382`. -- cgit v1.2.3