some tests rely on additional diagnostics code being linked in, which happens, when lib/format-util.hpp is included prior to the instantiation of lib::diff::Record rsp. lib::Variant. The reason why i opended this can of worms was to avoid includion of this formatting and diagnostics code into such basic headers as lib/variant.hpp or lib/diff/gen-node.hpp Now it turns out, that on some platforms the linker will use a later instantiation of lib::Variant::Buff<GenNode>::operator string in spite of a complete instantiation of this virtual function being available already in liblumierasupport.so But the real reason is that -- with this trickery -- we're violating the single definition rule, so we get what we deserved. TODO (Ticket #973): at a later point in development we have to re-assess, the precise impact of including lib/format-util.hpp into lib/diff/gen-node.hpp Right now I expect GenNode to be used pervasively, so I am reluctant to make that header too heavyweight. |
||
|---|---|---|
| .. | ||
| diff-language.hpp | ||
| diff.cpp | ||
| gen-node.cpp | ||
| gen-node.hpp | ||
| index-table.hpp | ||
| list-diff-application.hpp | ||
| list-diff-detector.hpp | ||
| list-diff.hpp | ||
| record-content-mutator.hpp | ||
| record.hpp | ||
| tree-diff-application.hpp | ||
| tree-diff.hpp | ||
| tree-mutator.hpp | ||