// build-pass (FIXME(62277): could be check-pass?)
// edition:2018

use std::future::Future;

async fn foo<F: Future<Output = i32>>(x: &i32, future: F) -> i32 {
    let y = future.await;
    *x + y
}

fn main() {}
