contract C { struct X { u256 x1; u256 x2; } struct S { u256 s1; u256[3] s2; X s3; } S s; fn c() { u256[3] s2; s2[1] = 9; s = S(1, s2, X(4, 5)); } fn get() -> (u256 s1, u256[3] s2, u256 x1, u256 x2) { s1 = s.s1; s2 = s.s2; x1 = s.s3.x1; x2 = s.s3.x2; } } // ==== // compileViaYul: also // ---- // get() -> 0x01, 0x00, 0x09, 0x00, 0x04, 0x05