On Friday, 21 August 2015 at 06:24:34 UTC, Rikki Cattermole wrote:
On 8/21/2015 5:06 PM, 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?

I need to look over my code that I've written for my to be web application server. But: I'm a little concerned that if there is no alternative we won't be able to seriously be able to have a web application server ala JSP servlet style.

So while export may work, perhaps a slightly different approach. If an interface/class is marked as export, it gets inherited. So an child class/implementation would also be export because a super interface/class was export.
This would make me a lot happier.

I've had a look at it finally. This would definitely effect me.
Since TypeInfo_Class would still need to exist to access .init.

Humpth yes, it would be definitely desirable for me as the framework author to say every class that inherits from this interface must be visible to me. If it is not it is useless. Transients would be desired in this use case. That way the average developer wouldn't have to worry about this behaviour.

Reply via email to