//@ edition:2018 //@ run-pass use std::sync::Mutex; // Copied from the issue. Allow-by-default for now, so run-pass pub async fn foo() { let foo = Mutex::new(1); let lock = foo.lock().unwrap(); // Prevent mutex lock being held across `.await` point. drop(lock); bar().await; } async fn bar() {} fn main() {}