use pin_project::pin_project; // The same implementation. #[pin_project] //~ ERROR E0119 struct Foo { #[pin] f1: T, f2: U, } // conflicting implementations impl Unpin for Foo where T: Unpin {} // Conditional Unpin impl // The implementation that under different conditions. #[pin_project] //~ ERROR E0119 struct Bar { #[pin] f1: T, f2: U, } // conflicting implementations impl Unpin for Bar {} // Non-conditional Unpin impl #[pin_project] //~ ERROR E0119 struct Baz { #[pin] f1: T, f2: U, } // conflicting implementations impl Unpin for Baz {} // Conditional Unpin impl fn main() {}