Annex D (normative) Compatibility features [depr]

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

D.8.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.