
Robert Ramey wrote:
In the course of making the auto-linking optional. It became necessary to require that all archive/*.hpp headers be included before all serialization/*.hpp headers. Before this was only enforced for those programs which included serialization/export.hpp. This new requirement broke some of my own tests with very confusing errors. So I added code to explicitly verify that this requirement is met and emit a useful compile time error message.
Downsiide will break some user code and tests
Upside the break will be trivial to detect and fix inclusion of serialization/*.hpp will not trigger requirement for the pre-compiled library.
I hope that you do not mean that there will be an end-user requirement that serialization header files be inserted in a particular order ? If so that would be really bad IMO. Clearly one can control internally, by checking header file guards, the order in which header files are included if that is necessary, and I do not believe it can ever be right to force an end-user to include header files in a particular order in order to compile modules.