Skip to content

Commit 0f66ce6

Browse files
committed
test E0133 when calling free/impl async unsafe fn in safe code
1 parent 1574c2d commit 0f66ce6

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// edition:2018
2+
3+
#![feature(async_await, async_closure)]
4+
5+
struct S;
6+
7+
impl S {
8+
async unsafe fn f() {}
9+
}
10+
11+
async unsafe fn f() {}
12+
13+
fn main() {
14+
S::f(); //~ ERROR call to unsafe function is unsafe
15+
f(); //~ ERROR call to unsafe function is unsafe
16+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
2+
--> $DIR/async-unsafe-fn-call-in-safe.rs:14:5
3+
|
4+
LL | S::f();
5+
| ^^^^^^ call to unsafe function
6+
|
7+
= note: consult the function's documentation for information on how to avoid undefined behavior
8+
9+
error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
10+
--> $DIR/async-unsafe-fn-call-in-safe.rs:15:5
11+
|
12+
LL | f();
13+
| ^^^ call to unsafe function
14+
|
15+
= note: consult the function's documentation for information on how to avoid undefined behavior
16+
17+
error: aborting due to 2 previous errors
18+
19+
For more information about this error, try `rustc --explain E0133`.

0 commit comments

Comments
 (0)