structs holding on to reference data by pointer
Maxim Fomin
maxim at maxim-fomin.ru
Thu Oct 31 12:06:34 PDT 2013
On Thursday, 31 October 2013 at 18:51:46 UTC, bearophile wrote:
> Maxim Fomin:
>
>> You can check whether data is on heap, stack, tls, or just
>> global object by inspecting pointer at runtime. Ideally there
>> would be such function in druntime.
>
> This seems like a nice enhancement request for Bugzilla :-) Are
> you going to open it? It seems useful for me too.
>
You are expert in making enhacement request :)
>> It is impossible to do this in CT (except if comiler support
>> flow analysis and can prove in some scenarious that data is on
>> stack or not, but due to separate compilation it is impossible
>> to do in general case) (and probably shouldn't).
>
> You can do it even with separate compilation (at compile time)
> if your language has different kinds of pointers as Rust.
> Perhaps in D this can be done using Phobos-defined smart
> pointers.
>
> Bye,
> bearophile
But I don't believe that D being system laguage will diverge from
traidtional C/C++ pointer model. Right, in runtime smart pointers
can probably do some job by guessing allocation kind looking at
pointer.
More information about the Digitalmars-d-learn
mailing list