Full name of submitter (unless configured in github; will be published with the issue): Jim X
[basic.scope.scope] p4 says
Two function or function template declarations declare corresponding overloads if:
both declare functions with the same non-object-parameter-type-list,
This should cover non-member functions. However the definition of non-object-parameter-type-list, as per [dcl.fct] p9, says
The non-object-parameter-type-list of a member function is the parameter-type-list of that function with the explicit object parameter, if any, omitted.
What is the non-object-parameter-type-list of a non-member function? There is no relevant wording.
Suggested Resolution
The non-object-parameter-type-list of a function is:
For a member function, the parameter-type-list of that function with the explicit object parameter, if any, omitted.
For a non-member function, the parameter-type-list of that function.
Full name of submitter (unless configured in github; will be published with the issue): Jim X
[basic.scope.scope] p4 says
This should cover non-member functions. However the definition of non-object-parameter-type-list, as per [dcl.fct] p9, says
What is the non-object-parameter-type-list of a non-member function? There is no relevant wording.
Suggested Resolution