On Thursday, 1 September 2016 at 20:38:13 UTC, Yuxuan Shui wrote:
I think my approach is probably better, because I believe (correct me if I'm wrong): 1) it will never refer to a null object.

That's true, but you can ensure the same thing for the wrapper:

struct Ref()
{
  @disable this();
  this(T* value)
  {
    assert(value !is null);
    this.value = value;
  }
  // rest same as before
}

2) after DIP1000 is implemented we will be able to make sure there will be no dangling reference.

I'm not very familiar with the details of DIP1000, so I can't comment on that.

Reply via email to