### What it does Checks for functions that are declared `async` but have no `.await`s inside of them. ### Why is this bad? Async functions with no async code create overhead, both mentally and computationally. Callers of async methods either need to be calling from an async function themselves or run it on an executor, both of which causes runtime overhead and hassle for the caller. ### Example ``` async fn get_random_number() -> i64 { 4 // Chosen by fair dice roll. Guaranteed to be random. } let number_future = get_random_number(); ``` Use instead: ``` fn get_random_number_improved() -> i64 { 4 // Chosen by fair dice roll. Guaranteed to be random. } let number_future = async { get_random_number_improved() }; ```