On Tue, Oct 01, 2013 at 01:13:37PM -0700, Botond Ballo wrote:
> > - final on data / non virtual member functions
> > - virtual constants (maybe ability to get at vtable pointer too?)
> > - ability to say classes should only be used on stack / heap or not used
> > in one of those
> >
> > It would be nice to know if we can interest people in supporting any
> > of those.
>
> I'm not sure what "final on data" means, can you elaborate on that?
something like this
class Foo : public nsISomething
{
nsrefcount mRfcnt final;
};
class SpecialFoo : public Foo
{
nsrefcount mRfcnt; // Should not compile, is not ok, is footgun!
};
> For the other things, I'm not aware of any active proposals for these
> things. I will post a follow-up email that describes the Committee's
> procedure for making proposals for new language features, in case
> anyone is interested in proposing these.
maybe someone should look into doing that
> I should mention that forcing a class to be allocated on the stack
> or heap can already be accomplished to some extent. (To force a
> class to be allocated on the heap, declare its destructor private,
> allocate it using "new", and delete it by calling a member function
> that calls "delete this". To force a class to be allocated on the
> stack, give it private operator new and delete members.) Of course
> these techniques are not perfect and a built-in language feature
> for doing this would be nicer.
yeah, those are pretty poor substitutes, for example the operator new /
delte thing doesn't prevent globals of the type afaik.
Trev
>
> Botond
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform