Inference of Scoped Destruction

Stefan Koch uplink.coder at googlemail.com
Thu Nov 30 16:50:02 UTC 2017


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.



More information about the Digitalmars-d mailing list