Skip to content

Commit beb2435

Browse files
committed
test unsafe fn and async unsafe fn calls in async in unsafe
1 parent 0f66ce6 commit beb2435

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/test/ui/async-await/async-await.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,18 @@ async unsafe fn unsafe_async_fn(x: u8) -> u8 {
127127
x
128128
}
129129

130+
unsafe fn unsafe_fn(x: u8) -> u8 {
131+
x
132+
}
133+
134+
fn async_block_in_unsafe_block(x: u8) -> impl Future<Output = u8> {
135+
unsafe {
136+
async move {
137+
unsafe_fn(unsafe_async_fn(x).await)
138+
}
139+
}
140+
}
141+
130142
struct Foo;
131143

132144
trait Bar {
@@ -184,6 +196,7 @@ fn main() {
184196
async_fn,
185197
generic_async_fn,
186198
async_fn_with_internal_borrow,
199+
async_block_in_unsafe_block,
187200
Foo::async_assoc_item,
188201
|x| {
189202
async move {

src/test/ui/async-await/await-macro.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,18 @@ async unsafe fn unsafe_async_fn(x: u8) -> u8 {
127127
x
128128
}
129129

130+
unsafe fn unsafe_fn(x: u8) -> u8 {
131+
x
132+
}
133+
134+
fn async_block_in_unsafe_block(x: u8) -> impl Future<Output = u8> {
135+
unsafe {
136+
async move {
137+
unsafe_fn(await!(unsafe_async_fn(x)))
138+
}
139+
}
140+
}
141+
130142
struct Foo;
131143

132144
trait Bar {
@@ -184,6 +196,7 @@ fn main() {
184196
async_fn,
185197
generic_async_fn,
186198
async_fn_with_internal_borrow,
199+
async_block_in_unsafe_block,
187200
Foo::async_assoc_item,
188201
|x| {
189202
async move {

0 commit comments

Comments
 (0)