Werner LEMBERG <w...@gnu.org> writes: >> And answers are trickling in; see thread starting with >> >> http://lists.llvm.org/pipermail/cfe-users/2018-November/001417.html > > And here's the definite answer from a clang developer: > > The rule for determining when a base class function declaration > introduced by a using-declaration is hidden by a derived class > function declaration does not take the template parameter list into > account: http://eel.is/c++draft/namespace.udecl#15.sentence-1
Huh? This link states: When a using-declarator brings declarations from a base class into a derived class, member functions and member function templates in the derived class override and/or hide member functions and member function templates with the same name, parameter-type-list, cv-qualification, and ref-qualifier (if any) in a base class (rather than conflicting). The parameter-type-list is a different one in this example since they contain a different member function pointer type. Which is the reason we need the whole hooplahoop in the first place. > So clang's behaviour is conforming and gcc's behaviour is not. At > the very least, though, we should issue a warning for the using > declaration, because this is a surprising rule. I disagree. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel