RTSAN_NONBLOCKING_ASYNC

Static RTSAN_NONBLOCKING_ASYNC 

Source
pub static RTSAN_NONBLOCKING_ASYNC: &Lint
Expand description

The rtsan_nonblocking_async lint detects incompatible use of #[sanitize(realtime = "nonblocking")] on async functions.

§Example

#![feature(sanitize)]

#[sanitize(realtime = "nonblocking")]
async fn x() {}

fn main() {
    x();
}

{{produces}}

§Explanation

The sanitizer only considers the async function body nonblocking. The executor, which runs on every .await point can run non-realtime code, without the sanitizer catching it.