RTSAN_NONBLOCKING_ASYNC in rustc_lint::builtin - Rust
Description: The `rtsan_nonblocking_async` lint detects incompatible use of `#[sanitize(realtime = "nonblocking")]` on async functions.

Skip to main content

## RTSAN_NONBLOCKING_ASYNC

# Static RTSAN_NONBLOCKING_ASYNC

Source

    pub static RTSAN_NONBLOCKING_ASYNC: &'static 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.