1. use std::ops::Deref;
    2. struct A(usize);
    3. struct B(usize);
    4. impl A {
    5. fn aaa(&self) { println!("A: {}", self.0); }
    6. }
    7. struct C {
    8. a: A,
    9. b: B,
    10. }
    11. impl Deref for C {
    12. type Target = A;
    13. fn deref(&self) -> &Self::Target { &self.a }
    14. }
    15. fn main() {
    16. let o = C { a: A(1), b: B(2) };
    17. o.aaa();
    18. }