contract C { C[] y = new C[](3); C[3] x; function f() public { C[3] memory z; y.push(this); x[0] = this; z[0] = this; } }