Am 26.01.2015 um 23:24 schrieb Walter Bright:

exporting a template and then having the user instantiate outside of the
library doesn't make a whole lot of sense, because the instantiation
won't be there in the library. The library will have to instantiate
every use case. If the compiler knows the library instantiated it, it
won't re-instantiate it locally.

Sorry, but wtf? So we just throw all of phobos away? Given this argument you can _never_ make phobos into a shared lirary becuse you can't possibliy pre-instaniate all possible template permutations in phobos. Your suggestion is completely un-pratical. Even C++ allows you to instanciate templates provided by a shared library.


I'd be thinking that what a shared library exports is fixed, and
expecting the user to make more instantiations makes for a fairly
unresolvable issue. The solution is design the templates to be expanded
only on one side of the dll/exe boundary, not straddle it.


Again this just makes it impossible to make phobos ever work as a shared library. A Language as template heavy as D should clearly allow users to instanciate templates across dll/exe boundaries.

Why am I getting the impression, everytime I read one of your comments regarding dlls on windows, that you don't want them to be useable? DO you have a special hate against Windows or their shared library solution?

Kind Regards
Benjamin Thaut

Reply via email to