struct Y {} struct X { var a : U init(_a : U) { a = _a } func doneSomething() {} } class A { var y : Y var x : X init() { y = Y() x = X(y) } func doSomething() { x.doneSomething() } }