Suggestion: common & polish constructors (+ destructors)

Kristian Kilpi kjkilpi at gmail.com
Fri Nov 3 07:34:29 PST 2006


On Fri, 03 Nov 2006 14:33:20 +0200, Bill Baxter <wbaxter at gmail.com> wrote:

> Kristian Kilpi wrote:
>>  It would be nice if you could add code into constructors (and  
>> destructors)  with mixins. For example, you could initialize member  
>> objects/structures  added by a mixin, etc.
>> [snip]
>> And finally, there should also be common destructors (e.g.   
>> '~common_this()', 'finish_this()', 'destroy_this()') to be used with   
>> mixins. This way each mixin could add code to the actual destructor.
>
> Actually what you suggest seems to already be the case for destructors.  
>   Don't know if it's in the spec, but I just noticed it yesterday.
>
>
> template Death(int i)
> {
>      ~this() {
>          writefln("Death says: see you! ", i);
>      }
> }
> class DClass
> {
>      mixin Death!(1);
>      mixin Death!(2);
>      mixin Death!(3);
>
>      ~this() {
>          writefln("Class bye bye!");
>      }
>
>      mixin Death!(4);
>      mixin Death!(5);
>      mixin Death!(6);
> }
>
> The destructors get called in reverse order of appearance within DClass.
>
> --bb

Well now, that's nice. :)

This feature is not yet documented, maybe Walter is experimenting things  
for future releases... Hopefully we'll have something like it for the  
ctors also.



More information about the Digitalmars-d mailing list