[−][src]Trait photonix::focus::composites::GetRefFifth
A variant of GetRef
, reaching five levels deep in the data structure.
Examples
#[derive(GetRef)] pub struct Employee { pub name: String, pub company: Company } #[derive(GetRef)] pub struct Company { pub name: String, pub address: Address } #[derive(GetRef)] pub struct Address { pub city: String, pub street: Street } #[derive(GetRef)] pub struct Street { pub number: StreetNumber, pub name: String } #[derive(GetRef)] pub struct StreetNumber(u16); let john_doe = Employee { name: String::from("John Doe"), company: Company { name: String::from("Acme Corporation"), address: Address { city: String::from("London"), street: Street { number: StreetNumber(23), name: String::from("High street"), } }, } }; // Level 1 Level 2 Level 3 Level Level 5 Parent type // | | | | | | impl<'a> GetRefFifth<'a, Company, Address, Street, StreetNumber, u16> for Employee {} assert_eq!(23, *john_doe.get_ref_fifth());