use delegate_attr::delegate; trait Bar {} impl Bar for i32 {} struct Foo(Vec); #[delegate(self.0)] impl Foo where T: Bar, { fn len(&self) -> usize {} } fn main() { let foo = Foo(vec![1]); assert_eq!(foo.len(), 1); }