From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui/static/static-reference-to-fn-2.stderr | 49 +++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/ui/static/static-reference-to-fn-2.stderr (limited to 'tests/ui/static/static-reference-to-fn-2.stderr') diff --git a/tests/ui/static/static-reference-to-fn-2.stderr b/tests/ui/static/static-reference-to-fn-2.stderr new file mode 100644 index 000000000..133d8ec2e --- /dev/null +++ b/tests/ui/static/static-reference-to-fn-2.stderr @@ -0,0 +1,49 @@ +error[E0716]: temporary value dropped while borrowed + --> $DIR/static-reference-to-fn-2.rs:18:22 + | +LL | fn state1(self_: &mut StateMachineIter) -> Option<&'static str> { + | ----- has type `&mut StateMachineIter<'1>` +LL | self_.statefn = &id(state2 as StateMachineFunc); + | -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- temporary value is freed at the end of this statement + | | | + | | creates a temporary value which is freed while still in use + | assignment requires that borrow lasts for `'1` + +error[E0716]: temporary value dropped while borrowed + --> $DIR/static-reference-to-fn-2.rs:24:22 + | +LL | fn state2(self_: &mut StateMachineIter) -> Option<(&'static str)> { + | ----- has type `&mut StateMachineIter<'1>` +LL | self_.statefn = &id(state3 as StateMachineFunc); + | -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- temporary value is freed at the end of this statement + | | | + | | creates a temporary value which is freed while still in use + | assignment requires that borrow lasts for `'1` + +error[E0716]: temporary value dropped while borrowed + --> $DIR/static-reference-to-fn-2.rs:30:22 + | +LL | fn state3(self_: &mut StateMachineIter) -> Option<(&'static str)> { + | ----- has type `&mut StateMachineIter<'1>` +LL | self_.statefn = &id(finished as StateMachineFunc); + | -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- temporary value is freed at the end of this statement + | | | + | | creates a temporary value which is freed while still in use + | assignment requires that borrow lasts for `'1` + +error[E0515]: cannot return value referencing temporary value + --> $DIR/static-reference-to-fn-2.rs:40:5 + | +LL | / StateMachineIter { +LL | | +LL | | statefn: &id(state1 as StateMachineFunc) + | | ------------------------------ temporary value created here +LL | | } + | |_____^ returns a value referencing data owned by the current function + | + = help: use `.collect()` to allocate the iterator + +error: aborting due to 4 previous errors + +Some errors have detailed explanations: E0515, E0716. +For more information about an error, try `rustc --explain E0515`. -- cgit v1.2.3