summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/async-unsafe-fn-call-in-safe.rs
blob: c941dc27aa307dcf2f9d4b9c1e31fd483bf83d2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// edition:2018
// revisions: mir thir
// [thir]compile-flags: -Z thir-unsafeck

struct S;

impl S {
    async unsafe fn f() {}
}

async unsafe fn f() {}

async fn g() {
    S::f();
    //[mir]~^ ERROR call to unsafe function is unsafe
    //[thir]~^^ ERROR call to unsafe function `S::f` is unsafe
    f();
    //[mir]~^ ERROR call to unsafe function is unsafe
    //[thir]~^^ ERROR call to unsafe function `f` is unsafe
}

fn main() {
    S::f(); //[mir]~ ERROR call to unsafe function is unsafe
    f(); //[mir]~ ERROR call to unsafe function is unsafe
}