STR-623: Externals for library should not include externals from imported definitions
Currently the module with external definitions created when building a library contains all external definitions from imported libraries. This results in huge lib modules. And if two modules are imporetd that overlap it results in a large number of redundant definitions, which slows down compilation.The lib module should only include externals defined by the library itself. This will break programs that rely on the transitive inclusion of externals, which may actually happen in practice in order to reduce the number of redundant external definitions.
This should be easy to implement; when creating external definitions, filter out definitions which are already external.
The implication is that externals that are defined in an ad hoc manner (e.g. implemented in native code), should be declared in their own library.
Submitted on 20 August 2006 at 22:31
Issue Log
STR-623, martin:
Hasn’t this issue been fixed already?
STR-623, visser:
This was already fixed inr15596 | visser | 2006-08-21 02:20:45 +0200 (Mon, 21 Aug 2006) | 13 lines
commit message:
STR-623: don’t export imported externals in lib* module
Log in to post comments