Jarrett Billingsley wrote:
On Tue, Apr 28, 2009 at 12:07 PM, MLT <[email protected]> wrote:

What I don't like is that it seems that structs and classes should almost be 
interchangeable - one might implement something as a class and later want it to 
be a struct, or vice versa. It almost is actually a local decision. I might 
want something to be a class in one place, and a struct in another.

I hear this all the time from C++ users.  But in practice, it
virtually never comes up.  I have never, in my five years of using D,
wanted to change a class to a struct or vice versa, or ever seen
anyone else doing that (or complaining about its difficulty).  The
only people who complain are those who don't use the language ;)


Often I'd wish to statically allocate an object in the current context, like you can do with a struct. scope partially gives me what I want. It would be nice if "scope" could be used in other places:

class Bla {
    int member;
}

class Foo {
   scope Bla b; //object constructed here
}

static assert(Foo.classinfo.init.size == 5*4);

Yeah, you'd need a solution for how to call the ctor. Maybe the (very annoying) way of how initialization of final/const members is handled would be useful here.

Reply via email to