On 8 August 2010 17:40, Andrei Alexandrescu <[email protected]> wrote: > On 08/08/2010 01:19 AM, SHOO wrote: >> >> Ok, I see. >> IMHO the cause is not to be able to use default constructers for structs. >> The usage of struct seems to have changed compared with old times. >> Recently, structs are not only a set of simple data anymore, and rather >> a role as the class instance seems to be importance than it. >> The support from language specifications feels insufficient for it. >> Hmm... > > Well Walter and I have been very concerned about this all. Unfortunately > things are not as simple as adding a language feature. It turns out that in > very many situations, the default constructor as is defined today is > extremely useful: it provides a well defined state for any struct object > that is guaranteed to not allocate resources. Functions such as clear() > exploit this, and in generic code it's very useful to be able to define a > stack variable of any type knowing that there is no arbitrary code > associated.
An observation: a struct constructor which could be evaluated at compile time probably wouldn't cause problems. _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
