diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/regions/region-bound-on-closure-outlives-call.stderr | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/regions/region-bound-on-closure-outlives-call.stderr b/src/test/ui/regions/region-bound-on-closure-outlives-call.stderr new file mode 100644 index 000000000..a2396ad42 --- /dev/null +++ b/src/test/ui/regions/region-bound-on-closure-outlives-call.stderr @@ -0,0 +1,24 @@ +warning: function cannot return without recursing + --> $DIR/region-bound-on-closure-outlives-call.rs:1:1 + | +LL | fn call_rec<F>(mut f: F) -> usize where F: FnMut(usize) -> usize { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing +LL | +LL | (|x| f(x))(call_rec(f)) + | ----------- recursive call site + | + = note: `#[warn(unconditional_recursion)]` on by default + = help: a `loop` may express intention better if this is on purpose + +error[E0505]: cannot move out of `f` because it is borrowed + --> $DIR/region-bound-on-closure-outlives-call.rs:3:25 + | +LL | (|x| f(x))(call_rec(f)) + | --- - ^ move out of `f` occurs here + | | | + | | borrow occurs due to use in closure + | borrow of `f` occurs here + +error: aborting due to previous error; 1 warning emitted + +For more information about this error, try `rustc --explain E0505`. |