[phobos] Why is scoped offered by a function?

Don Clugston dclugston at googlemail.com
Sun Aug 8 12:56:10 PDT 2010


On 8 August 2010 17:40, Andrei Alexandrescu <andrei at erdani.com> 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.


More information about the phobos mailing list