Steven Schveighoffer wrote: > How does one distinguish an Optional!(Optional!int) that is null from an > Optional!(Optional!int) whose Optional!int is null? If there's no way > to test for it, then they are not conceivably different.
That's the fatal flaw in Andrei's design that I was pointing out, yes. > I think Andrei is right here, for any type T that already is nullable > (including pointer and reference types), Optional!T should alias to T. Your conclusion is backwards here. In order for Optional!T to be useful, it must be able to hold all possible of T plus a distinct null value. If Optional!T cannot do that for T = Optional!T2, then Optional!T is useless in generic programming, bordering on useless in general. I think my example program demonstrated this amply. -- Rainer Deyke - [email protected]
