On Fri, 22 May 2009 16:40:55 -0400, Andrei Alexandrescu <[email protected]> wrote:

Steven Schveighoffer wrote:
ref accomplishes all of this, except you can't get at the underlying pointer to do things like compare to null or rebind. Maybe we simply need some new operators to get at the ref addresses.

Defining null references has been on the table too. I wrote a paragraph about them and then deleted it in fear of major aggravation.

There's no need for new syntax. We can easily define things such that you can return *null when a reference is expected and checking &(r.popNext()) is null to figure out what's happening. I think it's bad design though.

&(r.popNext()) still gets you back to pointer-land. Might as well return a pointer.

Also, I don't even think this works, because you can either check for null or get the data, but not both:

ref T t; // syntax error, no?

while(&(t = r.popNext()) !is null)
{
}

doesn't work because you're not rebinding t.

-Steve

Reply via email to