NoCopy for overriding @disable this(this)
Eduard Staniloiu
edi33416 at gmail.com
Sun Apr 15 17:24:42 UTC 2018
On Thursday, 12 April 2018 at 17:09:22 UTC, Shachar Shemesh wrote:
> On 12/04/18 18:42, Uknown wrote:
>> On Thursday, 12 April 2018 at 12:16:53 UTC, Shachar Shemesh
>> wrote:
>>> [...]
>>
>> The problem seems to be that cast is happening at compile
>> time, as opposed to run time, as you might have already
>> figured out. Do you need to really do this cast at compile
>> time? I tried running the snippet you gave here:
>> https://run.dlang.io/is/im19nL
>>
>> Is this how you intend for it to be used? Then there's no need
>> for compile time casts. If not, could you give an example of
>> how `NoCopy` would be used?
>
> struct Disabled {
> int i = 17;
>
> @disable this(this);
> }
>
> struct Container {
> NoCopy!Disabled disabled;
> }
>
> Any instance you create of "Container" will have i initialized
> to 0 by default.
Since `T` has the postblit disabled, I'm guessing the ctor should
take a `ref T`.
Since `T` has the postblit disabled, I'm guessing the ctor should
take a `ref T`.
More information about the Digitalmars-d
mailing list