Thread overview
[phobos] ModuleInfo - class to struct?
Jan 18, 2010
Walter Bright
Jan 19, 2010
Walter Bright
January 18, 2010
I'd like to change the ModuleInfo from a class to a struct. This will eliminate the reference in each module to the ModuleInfo vtbl[], which winds up pulling in everything. I don't think there is any use for ModuleInfo for polymorphic behavior.

This should only impact druntime's source code (and will require everything to be recompiled). Have I missed anything?
January 18, 2010
I think it's a great idea.

Andrei

Walter Bright wrote:
> I'd like to change the ModuleInfo from a class to a struct. This will eliminate the reference in each module to the ModuleInfo vtbl[], which winds up pulling in everything. I don't think there is any use for ModuleInfo for polymorphic behavior.
> 
> This should only impact druntime's source code (and will require
> everything to be recompiled). Have I missed anything?
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
January 18, 2010
While you're at it, let's revise the change class TypeInfo -> struct TypeInfo. Inheritance relationship is used there, but perhaps it's not really warranted.

Andrei

Walter Bright wrote:
> I'd like to change the ModuleInfo from a class to a struct. This will eliminate the reference in each module to the ModuleInfo vtbl[], which winds up pulling in everything. I don't think there is any use for ModuleInfo for polymorphic behavior.
> 
> This should only impact druntime's source code (and will require
> everything to be recompiled). Have I missed anything?
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
January 18, 2010
But I think TypeInfo being polymorphic is basic to its use, see the virtual functions.

Andrei Alexandrescu wrote:
> While you're at it, let's revise the change class TypeInfo -> struct TypeInfo. Inheritance relationship is used there, but perhaps it's not really warranted.
>
> Andrei
>
> Walter Bright wrote:
>> I'd like to change the ModuleInfo from a class to a struct. This will eliminate the reference in each module to the ModuleInfo vtbl[], which winds up pulling in everything. I don't think there is any use for ModuleInfo for polymorphic behavior.
>>
>> This should only impact druntime's source code (and will require
>> everything to be recompiled). Have I missed anything?
>> _______________________________________________
>> phobos mailing list
>> phobos at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/phobos
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
>
>