about summary refs log tree commit diff
path: root/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
blob: bc42a46ae1021bb0163d7975b34f47dde528502c (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
error[E0267]: `break` inside of an async block
  --> $DIR/async-block-control-flow-static-semantics.rs:33:9
   |
LL |         break 0u8;
   |         ^^^^^^^^^ cannot break inside of an async block

error[E0267]: `break` inside of an async block
  --> $DIR/async-block-control-flow-static-semantics.rs:40:13
   |
LL |             break 0u8;
   |             ^^^^^^^^^ cannot break inside of an async block

error[E0308]: mismatched types
  --> $DIR/async-block-control-flow-static-semantics.rs:13:43
   |
LL | fn return_targets_async_block_not_fn() -> u8 {
   |    ---------------------------------      ^^ expected u8, found ()
   |    |
   |    implicitly returns `()` as its body has no tail or `return` expression
   |
   = note: expected type `u8`
              found type `()`

error[E0271]: type mismatch resolving `<impl std::future::Future as std::future::Future>::Output == ()`
  --> $DIR/async-block-control-flow-static-semantics.rs:18:39
   |
LL |     let _: &dyn Future<Output = ()> = &block;
   |                                       ^^^^^^ expected u8, found ()
   |
   = note: expected type `u8`
              found type `()`
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()>`

error[E0271]: type mismatch resolving `<impl std::future::Future as std::future::Future>::Output == ()`
  --> $DIR/async-block-control-flow-static-semantics.rs:27:39
   |
LL |     let _: &dyn Future<Output = ()> = &block;
   |                                       ^^^^^^ expected u8, found ()
   |
   = note: expected type `u8`
              found type `()`
   = note: required for the cast to the object type `dyn std::future::Future<Output = ()>`

error[E0271]: type mismatch resolving `<impl std::future::Future as std::future::Future>::Output == u8`
  --> $DIR/async-block-control-flow-static-semantics.rs:22:55
   |
LL | async fn return_targets_async_block_not_async_fn() -> u8 {
   |                                                       ^^ expected (), found u8
   |
   = note: expected type `()`
              found type `u8`
   = note: the return type of a function must have a statically known size

error[E0308]: mismatched types
  --> $DIR/async-block-control-flow-static-semantics.rs:48:44
   |
LL | fn rethrow_targets_async_block_not_fn() -> Result<u8, MyErr> {
   |    ----------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found ()
   |    |
   |    implicitly returns `()` as its body has no tail or `return` expression
   |
   = note: expected type `std::result::Result<u8, MyErr>`
              found type `()`

error[E0308]: mismatched types
  --> $DIR/async-block-control-flow-static-semantics.rs:57:50
   |
LL | fn rethrow_targets_async_block_not_async_fn() -> Result<u8, MyErr> {
   |    ----------------------------------------      ^^^^^^^^^^^^^^^^^ expected enum `std::result::Result`, found ()
   |    |
   |    implicitly returns `()` as its body has no tail or `return` expression
   |
   = note: expected type `std::result::Result<u8, MyErr>`
              found type `()`

error: aborting due to 8 previous errors

Some errors have detailed explanations: E0267, E0271, E0308.
For more information about an error, try `rustc --explain E0267`.