<div dir="ltr">Committed in r184882.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 25, 2013 at 1:08 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">LGTM.<br>
<br>
It looks like we still don't reject this:<br>
<br>
  struct S { template<typename T = int> friend void f() {} };<br>
  template<typename> void f();<br>
<br>
... but I'm happy for us to treat this as part of DR226 and call DR21 done.<br>
<div class="HOEnZb"><div class="h5"><br>
On Sat, Jun 22, 2013 at 5:36 PM, David Majnemer<br>
<<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>> wrote:<br>
> This patch implements CWG DR21 [*]<br>
><br>
> Interestingly, we properly handled default template arguments on friend<br>
> class members but not on just friend classes:<br>
> struct A {<br>
>   template <class T1> void foo();<br>
> };<br>
> class B {<br>
>   template <class T1 = int> friend void A::foo();<br>
> };<br>
><br>
> [*] <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#21" target="_blank">http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#21</a><br>
><br>
> --<br>
> David Majnemer<br>
</div></div></blockquote></div><br></div>