summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/async-block-control-flow-static-semantics.stderr')
-rw-r--r--src/test/ui/async-await/async-block-control-flow-static-semantics.stderr83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr b/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
new file mode 100644
index 000000000..e58876896
--- /dev/null
+++ b/src/test/ui/async-await/async-block-control-flow-static-semantics.stderr
@@ -0,0 +1,83 @@
+error[E0267]: `break` inside of an `async` block
+ --> $DIR/async-block-control-flow-static-semantics.rs:32:9
+ |
+LL | async {
+ | ___________-
+LL | | break 0u8;
+ | | ^^^^^^^^^ cannot `break` inside of an `async` block
+LL | | };
+ | |_____- enclosing `async` block
+
+error[E0267]: `break` inside of an `async` block
+ --> $DIR/async-block-control-flow-static-semantics.rs:39:13
+ |
+LL | async {
+ | _______________-
+LL | | break 0u8;
+ | | ^^^^^^^^^ cannot `break` inside of an `async` block
+LL | | };
+ | |_________- enclosing `async` block
+
+error[E0308]: mismatched types
+ --> $DIR/async-block-control-flow-static-semantics.rs:21:58
+ |
+LL | async fn return_targets_async_block_not_async_fn() -> u8 {
+ | __________________________________________________________^
+LL | |
+LL | | let block = async {
+LL | | return 0u8;
+... |
+LL | |
+LL | | }
+ | |_^ expected `u8`, found `()`
+
+error[E0271]: type mismatch resolving `<impl Future<Output = u8> as Future>::Output == ()`
+ --> $DIR/async-block-control-flow-static-semantics.rs:26:39
+ |
+LL | let _: &dyn Future<Output = ()> = &block;
+ | ^^^^^^ expected `()`, found `u8`
+ |
+ = note: required for the cast from `impl Future<Output = u8>` to the object type `dyn Future<Output = ()>`
+
+error[E0308]: mismatched types
+ --> $DIR/async-block-control-flow-static-semantics.rs:12:43
+ |
+LL | fn return_targets_async_block_not_fn() -> u8 {
+ | --------------------------------- ^^ expected `u8`, found `()`
+ | |
+ | implicitly returns `()` as its body has no tail or `return` expression
+
+error[E0271]: type mismatch resolving `<impl Future<Output = u8> as Future>::Output == ()`
+ --> $DIR/async-block-control-flow-static-semantics.rs:17:39
+ |
+LL | let _: &dyn Future<Output = ()> = &block;
+ | ^^^^^^ expected `()`, found `u8`
+ |
+ = note: required for the cast from `impl Future<Output = u8>` to the object type `dyn Future<Output = ()>`
+
+error[E0308]: mismatched types
+ --> $DIR/async-block-control-flow-static-semantics.rs:47:44
+ |
+LL | fn rethrow_targets_async_block_not_fn() -> Result<u8, MyErr> {
+ | ---------------------------------- ^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
+ | |
+ | implicitly returns `()` as its body has no tail or `return` expression
+ |
+ = note: expected enum `Result<u8, MyErr>`
+ found unit type `()`
+
+error[E0308]: mismatched types
+ --> $DIR/async-block-control-flow-static-semantics.rs:56:50
+ |
+LL | fn rethrow_targets_async_block_not_async_fn() -> Result<u8, MyErr> {
+ | ---------------------------------------- ^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
+ | |
+ | implicitly returns `()` as its body has no tail or `return` expression
+ |
+ = note: expected enum `Result<u8, MyErr>`
+ found unit 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`.