// check-pass // edition:2018 #![allow(non_snake_case)] use std::rc::Rc; struct Struct { } impl Struct { async fn take_self(self, f: &u32) -> &u32 { f } async fn take_Self(self: Self, f: &u32) -> &u32 { f } async fn take_Box_Self(self: Box, f: &u32) -> &u32 { f } async fn take_Box_Box_Self(self: Box>, f: &u32) -> &u32 { f } async fn take_Rc_Self(self: Rc, f: &u32) -> &u32 { f } async fn take_Box_Rc_Self(self: Box>, f: &u32) -> &u32 { f } } fn main() { }