]> git.lizzy.rs Git - rust.git/blob - src/test/ui/self/elision/ref-struct-async.stderr
Make it more clear when complaining about async fn's return types
[rust.git] / src / test / ui / self / elision / ref-struct-async.stderr
1 error[E0623]: lifetime mismatch
2   --> $DIR/ref-struct-async.rs:13:9
3    |
4 LL |     async fn ref_Struct(self: &Struct, f: &u32) -> &u32 {
5    |                               -------              ----
6    |                               |                    |
7    |                               |                    this `async fn` implicitly returns an `impl Future<Output = &u32>`
8    |                               this parameter and the returned future are declared with different lifetimes...
9 LL |         f
10    |         ^ ...but data from `f` is held across an await point here
11
12 error[E0623]: lifetime mismatch
13   --> $DIR/ref-struct-async.rs:17:9
14    |
15 LL |     async fn box_ref_Struct(self: Box<&Struct>, f: &u32) -> &u32 {
16    |                                       -------               ----
17    |                                       |                     |
18    |                                       |                     this `async fn` implicitly returns an `impl Future<Output = &u32>`
19    |                                       this parameter and the returned future are declared with different lifetimes...
20 LL |         f
21    |         ^ ...but data from `f` is held across an await point here
22
23 error[E0623]: lifetime mismatch
24   --> $DIR/ref-struct-async.rs:21:9
25    |
26 LL |     async fn pin_ref_Struct(self: Pin<&Struct>, f: &u32) -> &u32 {
27    |                                       -------               ----
28    |                                       |                     |
29    |                                       |                     this `async fn` implicitly returns an `impl Future<Output = &u32>`
30    |                                       this parameter and the returned future are declared with different lifetimes...
31 LL |         f
32    |         ^ ...but data from `f` is held across an await point here
33
34 error[E0623]: lifetime mismatch
35   --> $DIR/ref-struct-async.rs:25:9
36    |
37 LL |     async fn box_box_ref_Struct(self: Box<Box<&Struct>>, f: &u32) -> &u32 {
38    |                                               -------                ----
39    |                                               |                      |
40    |                                               |                      this `async fn` implicitly returns an `impl Future<Output = &u32>`
41    |                                               this parameter and the returned future are declared with different lifetimes...
42 LL |         f
43    |         ^ ...but data from `f` is held across an await point here
44
45 error[E0623]: lifetime mismatch
46   --> $DIR/ref-struct-async.rs:29:9
47    |
48 LL |     async fn box_pin_Struct(self: Box<Pin<&Struct>>, f: &u32) -> &u32 {
49    |                                           -------                ----
50    |                                           |                      |
51    |                                           |                      this `async fn` implicitly returns an `impl Future<Output = &u32>`
52    |                                           this parameter and the returned future are declared with different lifetimes...
53 LL |         f
54    |         ^ ...but data from `f` is held across an await point here
55
56 error: aborting due to 5 previous errors
57
58 For more information about this error, try `rustc --explain E0623`.