- **labels**:  --> Fixed_2_21_0
- **status**: Started --> Fixed
- **Patch**: push -->  
- **Comment**:

Pushed as
~~~
commit 26b9b8e42a93b3b9a34effcfb61840d22ef9b272
Author: Jonas Hahnfeld <[email protected]>
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 [email protected] 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
  • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development
    • ... Auto mailings of changes to Lily Issues via Testlilyissues-auto via Automated messages for lilypond development

Reply via email to