More radical ideas about gc and reference counting

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 30 15:55:38 PDT 2014


On 4/30/14, 3:47 PM, H. S. Teoh via Digitalmars-d wrote:
> On Wed, Apr 30, 2014 at 02:30:05PM -0700, Andrei Alexandrescu via Digitalmars-d wrote:
>> On 4/30/14, 2:15 PM, H. S. Teoh via Digitalmars-d wrote:
>>> On Wed, Apr 30, 2014 at 02:13:32PM -0700, Andrei Alexandrescu via Digitalmars-d wrote:
>>>> On 4/30/14, 2:09 PM, Timon Gehr wrote:
>>>>> On 04/30/2014 10:58 PM, Andrei Alexandrescu wrote:
>>>>>> On 4/30/14, 1:56 PM, Timon Gehr wrote:
>>>>>>>
>>>>>>> struct S{
>>>>>>>      ~this(){ /* ... */ }
>>>>>>>      /* ... */
>>>>>>> }
>>>>>>>
>>>>>>> class C{
>>>>>>>      S s;
>>>>>>> }
>>>>>>>
>>>>>>> ?
>>>>>>
>>>>>> By hand, as I mentioned. -- Andrei
>>>>>>
>>>>>
>>>>> I meant, is it going to be deprecated too?
>>>>
>>>> No, that will continue to be allowed. -- Andrei
>>>
>>> Then what is it going to do? S.~this will never get called?
>>
>> That is correct. -- Andrei
>
> I don't like the sound of that. I haven't found myself in a place where
> I needed to do something like this, but if I had to, I'd be very unhappy
> if struct dtors only work when they're not class members. Can we make
> them always work, and if necessary prohibit using them as class members?

Then we're back to effectively class destructors. I think we've gathered 
quite a bit of evidence there are pernicious issues associated with 
them. -- Andrei




More information about the Digitalmars-d mailing list