Object.factory() and exe file size bloat

via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 21 04:44:06 PDT 2015


On Friday, 21 August 2015 at 05:06:47 UTC, Walter Bright wrote:
> This function:
>
>   http://dlang.org/phobos/object.html#.Object.factory
>
> enables a program to instantiate any class defined in the 
> program. To make it work, though, every class in the program 
> has to have a TypeInfo generated for it. This leads to bloat:
>
>   https://issues.dlang.org/show_bug.cgi?id=14758
>
> and sometimes the bloat can be overwhelming.
>
> The solution seems straightforward - only have Object.factory 
> be able to instantiate classes marked as 'export'. This only 
> makes sense anyway.
>
> What do you think?

Just change Object.factory to require registration of the class. 
It isn't too much of an effort to designate the few classes where 
it's needed, really. It's even safer, because the class name 
could potentially come from user input, and needs to be sanitized 
anyway in this case.


More information about the Digitalmars-d mailing list