Full name of submitter: Aurelien Cassagnes
Issue description: It is not clear whether the following is valid:
class A {
protected:
void f();
};
struct B : A {
static constexpr auto r = ^^A::f;
};
According to [expr.reflect]/7.2, "overload resolution for the expression" &A::f "with no target shall select a unique function". Do the restrictions in [class.protected] on the use of the expression &A::f apply to the reflect-expression?
Suggested resolution (by Brian): Edit [expr.reflect]/7.2 as follows:
Otherwise, if the id-expression denotes an overload set S, overload resolution for the expression &S with no target shall select a unique function ([over.over])the expression & id-expression shall be well-formed when considered as an unevaluated operand; R represents that the function selected by overload resolution ([over.over]).