pragma experimental ABIEncoderV2; contract C { struct S { C c; } function f(uint a, S[2] memory s1, uint b) public returns (uint r1, C r2, uint r3) { r1 = a; r2 = s1[0].c; r3 = b; } } // ==== // compileViaYul: also // ---- // f(uint256,(address)[2],uint256): 7, 0, 0, 8 -> 7, 0, 8