On Mon, 19 Dec 2011 13:09:42 -0500, Walter Bright <newshou...@digitalmars.com> wrote:

On 12/19/2011 7:17 AM, Steven Schveighoffer wrote:
On Fri, 16 Dec 2011 17:55:47 -0500, Walter Bright <newshou...@digitalmars.com>
wrote:
For example, in std.datetime there's "final class Clock". It inherits nothing, and nothing can be derived from it. The comments for it say it is merely a
namespace. It should be a struct.

Although I don't disagree with you that it should be a struct and not a class,
does it have anything in its vtbl anyways if it's final?

Yes. The pointers to Object's functions, and a pointer to the TypeInfo for that class.

Well pointers to Object's functions shouldn't add any bloat. The TypeInfo may, but that shouldn't pull in any real code from the module, right?

I'm just trying to
understand what gets pulled in when you import a module with static ctors...

Write some trivial code snippets, compile them, and take a look at the object file with obj2asm.

I'll rephrase -- I'm trying to understand what's *supposed* to happen :) Trusting that the compiler is doing it right isn't always correct. Though it probably is in this case.

-Steve

Reply via email to