On 2019/11/14 11:29:25, dak wrote:
[...] I am not a fan of having to keep the whole inheritance hierarchy in
sight
(that's a loss of abstraction) but considering the actual impact this
causes, it
seems like a small price to pay for getting rid of this headache.
The other option (that I just tested) is to move the method_finder implementation out of the classes, ie make them a static function in the global namespace. This requires a quite mechanical change for all classes to call DECLARE_TRANSLATOR_CALLBACKS (<<<class>>>) right after their declaration and making Translator::trampoline public (136 files changed, 279 insertions(+), 18 deletions(-)). To be honest, I like this less than this patch, but it does avoid the lost abstraction in the three ligature engravers. On 2019/11/14 11:59:34, lemzwerg wrote:
Great! Jonas, please add comments to the source code that points to
the
relevant gcc vs. clang discussion.
Where exactly would you put such comment? IMO we don't need to justify writing correct code (or at least code that both compilers accept eventually). https://codereview.appspot.com/559250043/