struct A(i32); struct B<'a>(&'a A); struct C<'a, 'b>(&'b B<'a>); struct D<'a, 'b, 'c>(&'c C<'a, 'b>); fn foo() { `[let x = D(&C(&B(&A(0))));]` `[let y = x.0.0.0.0 + 1;]` }