extern crate pinned_init; use pinned_init::*; #[pin_data] struct Foo { a: usize, } impl Foo { fn new(a: impl PinInit) -> impl PinInit { pin_init!(Self { a <- a, }) } } fn main() {}