diff options
| author | David Wood <david@davidtw.co> | 2019-09-30 21:27:18 +0100 |
|---|---|---|
| committer | David Wood <david@davidtw.co> | 2019-09-30 21:27:18 +0100 |
| commit | 870b47fee4f0986f033f8bdede46a63242c61df0 (patch) | |
| tree | 4e11cb94f0b154cf45b756e5be687c9cf992dee4 /src/test | |
| parent | 22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26 (diff) | |
| download | rust-870b47fee4f0986f033f8bdede46a63242c61df0.tar.gz rust-870b47fee4f0986f033f8bdede46a63242c61df0.zip | |
typeck: silence unreachable code from await
This commit silences the unreachable code lint when it originates from within a await desugaring. Signed-off-by: David Wood <david@davidtw.co>
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/async-await/unreachable-lint-1.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/async-await/unreachable-lint-1.stderr | 16 | ||||
| -rw-r--r-- | src/test/ui/async-await/unreachable-lint.rs | 13 |
3 files changed, 41 insertions, 0 deletions
diff --git a/src/test/ui/async-await/unreachable-lint-1.rs b/src/test/ui/async-await/unreachable-lint-1.rs new file mode 100644 index 00000000000..d63d643c4e7 --- /dev/null +++ b/src/test/ui/async-await/unreachable-lint-1.rs @@ -0,0 +1,12 @@ +// edition:2018 +#![deny(unreachable_code)] + +async fn foo() { + return; bar().await; + //~^ ERROR unreachable statement +} + +async fn bar() { +} + +fn main() { } diff --git a/src/test/ui/async-await/unreachable-lint-1.stderr b/src/test/ui/async-await/unreachable-lint-1.stderr new file mode 100644 index 00000000000..382581bf945 --- /dev/null +++ b/src/test/ui/async-await/unreachable-lint-1.stderr @@ -0,0 +1,16 @@ +error: unreachable statement + --> $DIR/unreachable-lint-1.rs:5:13 + | +LL | return; bar().await; + | ------ ^^^^^^^^^^^^ unreachable statement + | | + | any code following this expression is unreachable + | +note: lint level defined here + --> $DIR/unreachable-lint-1.rs:2:9 + | +LL | #![deny(unreachable_code)] + | ^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/async-await/unreachable-lint.rs b/src/test/ui/async-await/unreachable-lint.rs new file mode 100644 index 00000000000..ca18cfde4f2 --- /dev/null +++ b/src/test/ui/async-await/unreachable-lint.rs @@ -0,0 +1,13 @@ +// check-pass +// edition:2018 +#![deny(unreachable_code)] + +async fn foo() { + endless().await; +} + +async fn endless() -> ! { + loop {} +} + +fn main() { } |
