summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/suggest-missing-await.stderr
blob: 1196601ace09087eb0433a807758f949eb2657d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
error[E0308]: mismatched types
  --> $DIR/suggest-missing-await.rs:12:14
   |
LL |     take_u32(x)
   |     -------- ^ expected `u32`, found opaque type
   |     |
   |     arguments to this function are incorrect
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:5:24
   |
LL | async fn make_u32() -> u32 {
   |                        ^^^ checked the `Output` of this `async fn`, found opaque type
   = note:     expected type `u32`
           found opaque type `impl Future<Output = u32>`
note: function defined here
  --> $DIR/suggest-missing-await.rs:3:4
   |
LL | fn take_u32(_x: u32) {}
   |    ^^^^^^^^ -------
help: consider `await`ing on the `Future`
   |
LL |     take_u32(x.await)
   |               ++++++

error[E0308]: mismatched types
  --> $DIR/suggest-missing-await.rs:22:5
   |
LL |     dummy()
   |     ^^^^^^^ expected `()`, found opaque type
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:18:18
   |
LL | async fn dummy() {}
   |                  ^ checked the `Output` of this `async fn`, found opaque type
   = note: expected unit type `()`
            found opaque type `impl Future<Output = ()>`
help: consider `await`ing on the `Future`
   |
LL |     dummy().await
   |            ++++++
help: consider using a semicolon here
   |
LL |     dummy();
   |            +

error[E0308]: `if` and `else` have incompatible types
  --> $DIR/suggest-missing-await.rs:35:9
   |
LL |       let _x = if true {
   |  ______________-
LL | |         dummy()
   | |         ------- expected because of this
LL | |
LL | |     } else {
LL | |         dummy().await
   | |         ^^^^^^^^^^^^^ expected opaque type, found `()`
LL | |
LL | |     };
   | |_____- `if` and `else` have incompatible types
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:18:18
   |
LL | async fn dummy() {}
   |                  ^ checked the `Output` of this `async fn`, expected opaque type
   = note: expected opaque type `impl Future<Output = ()>`
                found unit type `()`
help: consider `await`ing on the `Future`
   |
LL |         dummy().await
   |                ++++++

error[E0308]: `match` arms have incompatible types
  --> $DIR/suggest-missing-await.rs:45:14
   |
LL |       let _x = match 0usize {
   |  ______________-
LL | |         0 => dummy(),
   | |              ------- this is found to be of type `impl Future<Output = ()>`
LL | |         1 => dummy(),
   | |              ------- this is found to be of type `impl Future<Output = ()>`
LL | |         2 => dummy().await,
   | |              ^^^^^^^^^^^^^ expected opaque type, found `()`
LL | |
LL | |     };
   | |_____- `match` arms have incompatible types
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:18:18
   |
LL | async fn dummy() {}
   |                  ^ checked the `Output` of this `async fn`, expected opaque type
   = note: expected opaque type `impl Future<Output = ()>`
                found unit type `()`
help: consider `await`ing on the `Future`
   |
LL ~         0 => dummy().await,
LL ~         1 => dummy().await,
   |

error[E0308]: mismatched types
  --> $DIR/suggest-missing-await.rs:53:9
   |
LL |     let _x = match dummy() {
   |                    ------- this expression has type `impl Future<Output = ()>`
LL |         () => {}
   |         ^^ expected opaque type, found `()`
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:18:18
   |
LL | async fn dummy() {}
   |                  ^ checked the `Output` of this `async fn`, expected opaque type
   = note: expected opaque type `impl Future<Output = ()>`
                found unit type `()`
help: consider `await`ing on the `Future`
   |
LL |     let _x = match dummy().await {
   |                           ++++++

error[E0308]: mismatched types
  --> $DIR/suggest-missing-await.rs:67:9
   |
LL |     match dummy_result() {
   |           -------------- this expression has type `impl Future<Output = Result<(), ()>>`
...
LL |         Ok(_) => {}
   |         ^^^^^ expected opaque type, found enum `Result`
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:57:28
   |
LL | async fn dummy_result() -> Result<(), ()> {
   |                            ^^^^^^^^^^^^^^ checked the `Output` of this `async fn`, expected opaque type
   = note: expected opaque type `impl Future<Output = Result<(), ()>>`
                     found enum `Result<_, _>`
help: consider `await`ing on the `Future`
   |
LL |     match dummy_result().await {
   |                         ++++++

error[E0308]: mismatched types
  --> $DIR/suggest-missing-await.rs:69:9
   |
LL |     match dummy_result() {
   |           -------------- this expression has type `impl Future<Output = Result<(), ()>>`
...
LL |         Err(_) => {}
   |         ^^^^^^ expected opaque type, found enum `Result`
   |
note: while checking the return type of the `async fn`
  --> $DIR/suggest-missing-await.rs:57:28
   |
LL | async fn dummy_result() -> Result<(), ()> {
   |                            ^^^^^^^^^^^^^^ checked the `Output` of this `async fn`, expected opaque type
   = note: expected opaque type `impl Future<Output = Result<(), ()>>`
                     found enum `Result<_, _>`
help: consider `await`ing on the `Future`
   |
LL |     match dummy_result().await {
   |                         ++++++

error: aborting due to 7 previous errors

For more information about this error, try `rustc --explain E0308`.