<div dir="ltr"><span style="font-size:12.8000001907349px">Hi guys,</span><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">I couldn't find any bug filed related to this issue so I'm asking before creating one. This snippet of code worked in clang 3.6 and in all gcc versions I could try but stopped working in clang 3.7.</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">-----</div><div style="font-size:12.8000001907349px"><div>enum EnumType { A };</div><div><br></div><div>class MyClass</div><div>{</div><div>  template<int I> inline void set(int v);</div><div>  </div><div>  template<EnumType P> inline void set(int v, int I);</div><div>  </div><div>};</div><div><br></div><div>template<> void MyClass::set<A>(int v, int I) { }</div></div><div style="font-size:12.8000001907349px">-----</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">The error is:</div><div style="font-size:12.8000001907349px">error: no function template matches function template specialization 'set'<br clear="all"><br>template<> void MyClass::set<A>(int v, int I) { }<br><br>5 : note: candidate template ignored: could not match 'void (int)' against 'void (int, int)'<br>template<int I> inline void set(int v);<br><br>7 : note: candidate template ignored: invalid explicitly-specified argument for template parameter 'P'<br>template<EnumType P> inline void set(int v, int I);<br><br><div><br></div><div><br></div><div>Link to <a href="http://gcc.godbolt.org/" target="_blank">gcc.godbolt.org</a>: <a href="https://goo.gl/BbWVQw" target="_blank">https://goo.gl/BbWVQw</a></div><div><br></div><div><br></div><div>The same code using an "enum class" and qualifying the enum constant (EnumType::A) in the specialization works though: <a href="https://goo.gl/Kix3hq" target="_blank">https://goo.gl/Kix3hq</a></div><div><br></div><div><br></div><div>Does this look like a clang bug or is it not standard just happened to work before?</div><div><br></div><div><br></div><div>Thanks,</div></div><div><br></div>-- <br><div class="gmail_signature">Maxime<br></div>
</div>