]>
Commit | Line | Data |
---|---|---|
0bf4aa26 | 1 | error[E0713]: borrow may still be in use when destructor runs |
e74abb32 | 2 | --> $DIR/issue-52059-report-when-borrow-and-drop-conflict.rs:11:5 |
0bf4aa26 XL |
3 | | |
4 | LL | fn finish_1(s: S) -> &mut String { | |
5 | | - has type `S<'1>` | |
6 | LL | s.url | |
7 | | ^^^^^ returning this value requires that `*s.url` is borrowed for `'1` | |
8 | LL | } | |
9 | | - here, drop of `s` needs exclusive access to `*s.url`, because the type `S<'_>` implements the `Drop` trait | |
10 | ||
11 | error[E0713]: borrow may still be in use when destructor runs | |
e74abb32 | 12 | --> $DIR/issue-52059-report-when-borrow-and-drop-conflict.rs:16:13 |
0bf4aa26 XL |
13 | | |
14 | LL | fn finish_2(s: S) -> &mut String { | |
15 | | - has type `S<'1>` | |
16 | LL | let p = &mut *s.url; p | |
17 | | ^^^^^^^^^^^ - returning this value requires that `*s.url` is borrowed for `'1` | |
18 | LL | } | |
19 | | - here, drop of `s` needs exclusive access to `*s.url`, because the type `S<'_>` implements the `Drop` trait | |
20 | ||
21 | error[E0713]: borrow may still be in use when destructor runs | |
e74abb32 | 22 | --> $DIR/issue-52059-report-when-borrow-and-drop-conflict.rs:21:21 |
0bf4aa26 XL |
23 | | |
24 | LL | fn finish_3(s: S) -> &mut String { | |
25 | | - has type `S<'1>` | |
26 | LL | let p: &mut _ = s.url; p | |
27 | | ^^^^^ - returning this value requires that `*s.url` is borrowed for `'1` | |
28 | LL | } | |
29 | | - here, drop of `s` needs exclusive access to `*s.url`, because the type `S<'_>` implements the `Drop` trait | |
30 | ||
31 | error[E0509]: cannot move out of type `S<'_>`, which implements the `Drop` trait | |
e74abb32 | 32 | --> $DIR/issue-52059-report-when-borrow-and-drop-conflict.rs:26:13 |
0bf4aa26 XL |
33 | | |
34 | LL | let p = s.url; p | |
35 | | ^^^^^ | |
36 | | | | |
37 | | cannot move out of here | |
1b1a35ee | 38 | | move occurs because `s.url` has type `&mut String`, which does not implement the `Copy` trait |
0bf4aa26 XL |
39 | | help: consider borrowing here: `&s.url` |
40 | ||
41 | error: aborting due to 4 previous errors | |
42 | ||
48663c56 | 43 | Some errors have detailed explanations: E0509, E0713. |
0bf4aa26 | 44 | For more information about an error, try `rustc --explain E0509`. |