DIP1000: Scoped Pointers

Dicebot via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Aug 16 11:55:40 PDT 2016


On Tuesday, 16 August 2016 at 18:25:42 UTC, Meta wrote:
> What about this?
>
> struct Rnd
> {
>     int* state;
> }
>
> void test()
> {
>     scope rnd = new Rnd();
>     Rnd rnd2 = *rnd;
>
>     saveGlobalState(rnd2);
> }

Same as far as I understand, because "from a lifetime analysis 
viewpoint, a struct is considered a juxtaposition of its direct 
members" 
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md#aggregates). You need to add one more level of indirection for things to start going complicated.


More information about the Digitalmars-d-announce mailing list