On Thursday, 2 June 2022 at 01:00:57 UTC, Ali Çehreli wrote:
On 6/1/22 17:36, Ruby The Roobster wrote:
> A stripped down version of some code I have:
Not much experience here but I made two changes:
1) Added 'shared':
> this(Complex!real num = Complex!real(0,0)) shared
> {
> this.num = num;
> }
> this(shared Complex!real num = cast(shared
> Complex!real)Complex!real(0,0))
> {
> this.num.re = num.re;
> this.im.re = im.re;
2) Fixed apparent typos:
this.num.im = num.im;
> }
I can't guarantee that correct functions are called. It just
compiles with 2.100.0. :)
Ali
Yes, those were typos. However, when making this post, I forgot
to mark ```this(shared Complex!real num = cast(shared
Complex!real)Complex!real(0,0))``` as shared. The other
constructor is not marked as shared in my code, considering as
shared classes have all of their members marked as shared.