On Mon, Jun 17, 2013 at 2:20 PM, Jason Merrill <ja...@redhat.com> wrote:
>> I have not thought deeply about constrained friend declarations. What >> would a friend temploid look like? > > > I was thinking something like > > template <class T> struct A { > T t; > requires Addable<T>() > friend A operator+(const A& a1, const A& a2) > { return A(a1.t + a2.t); } > > }; We agreed about a month ago to have something like this for member functions. It makes sense that it applies to friend too (since it already applies to static member functions.) One caveat in the design is that the nested requirement can only add to the outer requirements. -- Gaby