// check-pass // edition:2018 #![allow(non_snake_case)] use std::rc::Rc; struct Struct<'a> { x: &'a u32 } impl<'a> Struct<'a> { async fn take_self(self, f: &u32) -> &u32 { f } async fn take_Struct(self: Struct<'a>, f: &u32) -> &u32 { f } async fn take_Box_Struct(self: Box>, f: &u32) -> &u32 { f } async fn take_Box_Box_Struct(self: Box>>, f: &u32) -> &u32 { f } async fn take_Rc_Struct(self: Rc>, f: &u32) -> &u32 { f } async fn take_Box_Rc_Struct(self: Box>>, f: &u32) -> &u32 { f } } fn main() { }