Phobos is now compiled with -preview=dip1000
ag0aep6g
anonymous at example.com
Fri May 17 18:22:21 UTC 2019
On 17.05.19 19:25, Meta wrote:
> I don't want to *restrict* the lifetime of a heap allocation. I want the
> compiler to recognize that the lifetime of my original data is the same
> as the processed output, and thus allow my code to compile.
You have a heap allocation that references your original data, which
might be on the stack (Queue.store[0] points into rawData). The compiler
would have to make sure (or recognize) that the pointers on the heap
don't outlive the data to which they point.
But the lifetime of the heap allocation is infinite, and the lifetime of
the stack data is not. So that fails. To make it work you'd need some
way to have a shorter-than-infinite lifetime for the heap.
Whether you want to restrict the lifetime explicitly or have the
compiler figure it out on its own ... it doesn't really matter when we
can't do either.
More information about the Digitalmars-d-announce
mailing list