]> git.lizzy.rs Git - rust.git/blob - tests/ui/try-block/try-block-maybe-bad-lifetime.stderr
Rollup merge of #106441 - mllken:abstract-socket-noref, r=joshtriplett
[rust.git] / tests / ui / try-block / try-block-maybe-bad-lifetime.stderr
1 error[E0506]: cannot assign to `i` because it is borrowed
2   --> $DIR/try-block-maybe-bad-lifetime.rs:17:9
3    |
4 LL |             &i
5    |             -- borrow of `i` occurs here
6 LL |         };
7 LL |         i = 0;
8    |         ^^^^^ assignment to borrowed `i` occurs here
9 LL |         let _ = i;
10 LL |         do_something_with(x);
11    |                           - borrow later used here
12
13 error[E0382]: borrow of moved value: `x`
14   --> $DIR/try-block-maybe-bad-lifetime.rs:28:24
15    |
16 LL |         let x = String::new();
17    |             - move occurs because `x` has type `String`, which does not implement the `Copy` trait
18 ...
19 LL |             ::std::mem::drop(x);
20    |                              - value moved here
21 LL |         };
22 LL |         println!("{}", x);
23    |                        ^ value borrowed here after move
24    |
25    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
26 help: consider cloning the value if the performance cost is acceptable
27    |
28 LL |             ::std::mem::drop(x.clone());
29    |                               ++++++++
30
31 error[E0506]: cannot assign to `i` because it is borrowed
32   --> $DIR/try-block-maybe-bad-lifetime.rs:40:9
33    |
34 LL |             j = &i;
35    |                 -- borrow of `i` occurs here
36 LL |         };
37 LL |         i = 0;
38    |         ^^^^^ assignment to borrowed `i` occurs here
39 LL |         let _ = i;
40 LL |         do_something_with(j);
41    |                           - borrow later used here
42
43 error: aborting due to 3 previous errors
44
45 Some errors have detailed explanations: E0382, E0506.
46 For more information about an error, try `rustc --explain E0382`.