[swift-users] lazy initialisation
J.E. Schotsman
jeschot at xs4all.nl
Mon Jul 4 14:35:17 CDT 2016
> On 04 Jul 2016, at 21:12, Mark Dalrymple <markd at borkware.com> wrote:
>
> lazy var c:Int = {return self.a * self.b}()
>
> It's in a closure, so need to explicitly reference self.
Oh of course, I got tripped up by the similarity of TestStruct1 and TestStruct2.
Problem solved.
BTW this compiles:
struct TestStruct2
{
lazy var c:Int = {return self.d}()
lazy var d:Int = {return self.c}()
}
and causes a stack overflow:
var x = TestStruct2()
let y = x.c
More information about the swift-users
mailing list