diff options
| author | Delan Azabani <delan@azabani.com> | 2019-07-12 14:08:39 +1000 | 
|---|---|---|
| committer | Delan Azabani <delan@azabani.com> | 2019-07-12 14:15:09 +1000 | 
| commit | beb2435724acb9344fb64358a8c937d971a5e04c (patch) | |
| tree | 52fa9c00bbfe88e1488b25522f0d7efc76a12e5f | |
| parent | 0f66ce65dbdef43e8459a3bc771d3fe05ad2063d (diff) | |
| download | rust-beb2435724acb9344fb64358a8c937d971a5e04c.tar.gz rust-beb2435724acb9344fb64358a8c937d971a5e04c.zip  | |
test `unsafe fn` and `async unsafe fn` calls in `async` in `unsafe`
| -rw-r--r-- | src/test/ui/async-await/async-await.rs | 13 | ||||
| -rw-r--r-- | src/test/ui/async-await/await-macro.rs | 13 | 
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/async-await/async-await.rs b/src/test/ui/async-await/async-await.rs index b9d82014bb9..26404757aa4 100644 --- a/src/test/ui/async-await/async-await.rs +++ b/src/test/ui/async-await/async-await.rs @@ -127,6 +127,18 @@ async unsafe fn unsafe_async_fn(x: u8) -> u8 { x } +unsafe fn unsafe_fn(x: u8) -> u8 { + x +} + +fn async_block_in_unsafe_block(x: u8) -> impl Future<Output = u8> { + unsafe { + async move { + unsafe_fn(unsafe_async_fn(x).await) + } + } +} + struct Foo; trait Bar { @@ -184,6 +196,7 @@ fn main() { async_fn, generic_async_fn, async_fn_with_internal_borrow, + async_block_in_unsafe_block, Foo::async_assoc_item, |x| { async move { diff --git a/src/test/ui/async-await/await-macro.rs b/src/test/ui/async-await/await-macro.rs index 7729cdf3cd9..9ac0ab7c6c7 100644 --- a/src/test/ui/async-await/await-macro.rs +++ b/src/test/ui/async-await/await-macro.rs @@ -127,6 +127,18 @@ async unsafe fn unsafe_async_fn(x: u8) -> u8 { x } +unsafe fn unsafe_fn(x: u8) -> u8 { + x +} + +fn async_block_in_unsafe_block(x: u8) -> impl Future<Output = u8> { + unsafe { + async move { + unsafe_fn(await!(unsafe_async_fn(x))) + } + } +} + struct Foo; trait Bar { @@ -184,6 +196,7 @@ fn main() { async_fn, generic_async_fn, async_fn_with_internal_borrow, + async_block_in_unsafe_block, Foo::async_assoc_item, |x| { async move {  | 
