lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5600 Fix hidd


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5600 Fix hidden member templates in derived classes
Date: Tue, 19 Nov 2019 09:10:53 -0000

Pushed as

commit 26b9b8e42a93b3b9a34effcfb61840d22ef9b272
Author: Jonas Hahnfeld <address@hidden>
Date:   Thu Nov 14 09:22:03 2019 +0100

    Issue 5600: Fix hidden member templates in derived classes

    According to Clang's interpretation of the C++ standard, "member
    functions in the derived class override and/or hide member functions
    with the same name and parameter types in a base class". This seems
    to also hold for templated member functions and even if the code has
    a using-declaration of the base class member.
    This affects LilyPond's implementation of the method_finder template.
    Luckily, the problem can be solved by just re-declaring the base
    template specializations in each derived class instead of 'using' them.
    The only drawback is that this doesn't work out-of-the-box for deeper
    inheritance hierarchies. However, this only affects three ligature
    engravers so I think it's worth the maintenance to just encode the
    transitive inheritance manually.

[issues:#5600] Fix hidden member templates in derived classes

Status: Fixed
Labels: Fixed_2_21_0
Created: Thu Nov 14, 2019 08:34 AM UTC by Jonas Hahnfeld
Last Updated: Mon Nov 18, 2019 07:58 PM UTC
Owner: Jonas Hahnfeld

Fix hidden member templates in derived classes

According to Clang's interpretation of the C++ standard, "member
functions in the derived class override and/or hide member functions
with the same name and parameter types in a base class". This seems
to also hold for templated member functions and even if the code has
a using-declaration of the base class member.
This affects LilyPond's implementation of the method_finder template.
Luckily, the problem can be solved by just re-declaring the base
template specializations in each derived class instead of 'using' them.
The only drawback is that this doesn't work out-of-the-box for deeper
inheritance hierarchies. However, this only affects three ligature
engravers so I think it's worth the maintenance to just encode the
transitive inheritance manually.

http://codereview.appspot.com/559250043


Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.

_______________________________________________
Testlilyissues-auto mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

reply via email to

[Prev in Thread] Current Thread [Next in Thread]