29-May-2013 16:18, Dicebot пишет:
On Wednesday, 29 May 2013 at 09:28:38 UTC, Walter Bright wrote:
The whole point of a notnull is to disallow default initialization.

Beg my pardon if that was already discussed by how does that interfere
with various T.init use cases in current code? Most important, won't
some existing template constraints wrongly fail for such types?

IMHO lvalueOf!T and rvalueOf!T are the only things a template constraints should care about. Both can be emulated with dummy functions that never get linked anyway. I think Denis proposed those long ago as a pull and we should have had them by now.

In fact most of Phobos they already use in place lambdas to get mock l-values of type T.

This begs the question of usefulness of T.init and should ALL types have it.

Since we have @disable this() I'd say T.init is no longer as useful and general at best it defines binary mask to blit over uninitialized variables. In essence it's T.uninitialized.

--
Dmitry Olshansky

Reply via email to