Annex D (normative) Compatibility features [depr]

D.7 Old adaptable function bindings [depr.func.adaptor.binding]

D.7.1 Weak result types [depr.weak.result_type]

A call wrapper ([func.def]) may have a weak result type. If it does, the type of its member type result_type is based on the type T of the wrapper's target object:

  • if T is a pointer to function type, result_type shall be a synonym for the return type of T;

  • if T is a pointer to member function, result_type shall be a synonym for the return type of T;

  • if T is a class type and the qualified-id T::result_type is valid and denotes a type ([temp.deduct]), then result_type shall be a synonym for T::result_type;

  • otherwise result_type shall not be defined.