On Wed, 02 Sep 2009 16:54:30 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:

grauzone wrote:
Andrei Alexandrescu wrote:
I plan to add a Nullable struct to Phobos (akin to C#'s Nullable, Boost's Optional).

Apparently a good design is to define Optional!T with a minimum of member functions (ideally none) and have it use the "alias this" feature to masquerade as a T. That way Optional!T looks and feels much like a T, except that it supports a function
I still don't understand how one can feel comfortable with the fact, that "alias this" can overshadow arbitrary members of the alias'ed type.

That's why I want to add no member functions to Optional. The test for null will be a free function.

How does Optional!valuetype support this:

Optional!valuetype x;
x = null;

Don't you need opAssign?

-Steve

Reply via email to