library L { struct S { uint256[] data; } function f(S memory _s) internal { _s.data[3] += 2; } } contract C { using L for L.S; function f() public returns (uint256) { L.S memory x; x.data = new uint256[](7); x.data[3] = 8; (x.f)(); return x.data[3]; } } // ==== // compileViaYul: also // ---- // f() -> 0x0a