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.