April 10, 2018
On Monday, 9 April 2018 at 14:51:24 UTC, Per Nordlöw wrote:
> On Monday, 9 April 2018 at 13:51:47 UTC, Steven Schveighoffer wrote:
>> Well, you know the type, because make returned it no? The contract is, you call obj = make!X(args), then you have to call dispose(obj), where obj is of the type X. That's how it knows.
>>
>> If you are thinking you want to destroy the whole block at once (typed as void[]), that's not how it works.
>>
>> stdx.allocator is not going to help you with GC collection, it's not geared towards that purpose.
>
> Ok, thanks!

If you are using a custom allocator to allocate memory then you also
have to manually dispose of the memory when it is no longer needed.

You can't have a custom allocator to supply you with the memory and
then have the GC track and dispose of it. I get the feeling that this
is what you were looking for?
April 11, 2018
On 11/04/2018 1:56 AM, Eduard Staniloiu wrote:
> On Monday, 9 April 2018 at 14:51:24 UTC, Per Nordlöw wrote:
>> On Monday, 9 April 2018 at 13:51:47 UTC, Steven Schveighoffer wrote:
>>> Well, you know the type, because make returned it no? The contract is, you call obj = make!X(args), then you have to call dispose(obj), where obj is of the type X. That's how it knows.
>>>
>>> If you are thinking you want to destroy the whole block at once (typed as void[]), that's not how it works.
>>>
>>> stdx.allocator is not going to help you with GC collection, it's not geared towards that purpose.
>>
>> Ok, thanks!
> 
> If you are using a custom allocator to allocate memory then you also
> have to manually dispose of the memory when it is no longer needed.
> 
> You can't have a custom allocator to supply you with the memory and
> then have the GC track and dispose of it. I get the feeling that this
> is what you were looking for?

As long as you can use libc's free, sure you can :)
1 2
Next ›   Last »