Inference of Scoped Destruction
Nordlöw
per.nordlow at gmail.com
Thu Nov 30 17:24:14 UTC 2017
On Thursday, 30 November 2017 at 16:50:02 UTC, Stefan Koch wrote:
> On Thursday, 30 November 2017 at 16:31:25 UTC, Nordlöw wrote:
>> Are there any plans to D compilers to use recent DIP-1000 to
>> infer scoped destruction of GC-allocated data such as in the
>> following case:
>>
>> T sum(T)(in T[] x) // x cannot escape scope of `sum`
>> {
>> /// calculate and return sum of `x` ...
>> }
>>
>> double f(size_t n)
>> {
>> auto x = new int[n]; // scoped (deallocation) should be
>> inferred
>> auto y = sum(x); // cannot alias `x`
>> return y;
>> }
>>
>> I believe this would make D more competitive against Rust's
>> and C++'s (more) deterministic RAII memory management.
>>
>> How would this interact with explicit scope-qualification of
>> `x`?
>
> The problem with this; as with most types of inference is the
> time it can take.
> And the number of false negatives.
Is there a formal definition of the complexity of such an
inference?
More information about the Digitalmars-d
mailing list