<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, 7 Nov 2018 at 11:44, Jan Korous <<a href="mailto:jkorous@apple.com">jkorous@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Nov 7, 2018, at 7:03 PM, Werner LEMBERG via cfe-users <<a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>> wrote:<br>
> <br>
> <br>
>> The rule for determining when a base class function declaration<br>
>> introduced by a using-declaration is hidden by a derived class<br>
>> function declaration does not take the template parameter list into<br>
>> account: <a href="http://eel.is/c++draft/namespace.udecl#15.sentence-1" rel="noreferrer" target="_blank">http://eel.is/c++draft/namespace.udecl#15.sentence-1</a><br>
> <br>
> Our main lilypond developer disagrees.  He writes:<br>
> <br>
>  This link states:<br>
> <br>
>    When a using-declarator brings declarations from a base class into<br>
>    a derived class, member functions and member function templates in<br>
>    the derived class override and/or hide member functions and member<br>
>    function templates with the same name, parameter-type-list,<br>
>    cv-qualification, and ref-qualifier (if any) in a base class<br>
>    (rather than conflicting).<br>
> <br>
>  The parameter-type-list is a different one in this example since<br>
>  they contain a different member function pointer type.  Which is the<br>
>  reason we need the whole hooplahoop in the first place.<br>
> <br>
<br>
Isn’t it template-parameter-list that is different rather than parameter-type-list?<br>
<br>
<a href="http://eel.is/c++draft/dcl.fct#def:parameter-type-list" rel="noreferrer" target="_blank">http://eel.is/c++draft/dcl.fct#def:parameter-type-list</a><br>
<a href="http://eel.is/c++draft/temp#nt:template-parameter-list" rel="noreferrer" target="_blank">http://eel.is/c++draft/temp#nt:template-parameter-list</a></blockquote><div><br></div><div>Yes. The pieces are these:</div><div><br></div><div>template</div><div>  <typename T> // template-parameter-list</div><div>void f</div><div>  (int N) // parameter-type-list</div><div><br></div><div>Both base and derived function template have a parameter-type-list of (). :(</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> For context, the whole lilypond thread starts at<br>
> <br>
>  <a href="https://lists.gnu.org/archive/html/lilypond-devel/2018-11/msg00019.html" rel="noreferrer" target="_blank">https://lists.gnu.org/archive/html/lilypond-devel/2018-11/msg00019.html</a><br>
> <br>
> <br>
>    Werner<br>
> _______________________________________________<br>
> cfe-users mailing list<br>
> <a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users</a><br>
<br>
</blockquote></div></div>