Created on 2025-10-20.00:00:00 last changed yesterday
Proposed resolution:
This wording is relative to N5014.
Modify [func.wrap.ref.deduct] as indicated:
template<class F> function_ref(nontype_t<f>, T&&) -> function_ref<see below>;Let F be decltype(f).
-6- Constraint:
- (6.1) — F is of the form R(G::*)(A...) cv &opt noexcept(E) for type G, or
- (6.2) — F is of the form M G::* for type G and object type M, in which case let R be invoke_result_t<F, T&>, A... be an empty pack, and E be
falsetrue, or- (6.3) — F is of the form R(*)(G, A...) noexcept(E) for type G.
-7- Remarks: The deduced type is function_ref<R(A...) noexcept(E)>.
[ 2025-10-21; Reflector poll. ]
Set status to Tentatively Ready after six votes in favour during reflector poll.
For data member pointer M C::* dmp, template argument deduction in form std::function_ref fr(std::nontype<dmp>, x) results in std::function_ref<M&()>, that returns a reference to designated member. As accessing a data member can never throw exception and function_ref support noexcept qualifed function types, the deduction guide should be updated to produce noexcept-qualified signature.
| History | |||
|---|---|---|---|
| Date | User | Action | Args | 
| 2025-10-30 17:45:31 | admin | set | status: ready -> voting | 
| 2025-10-21 16:45:52 | admin | set | messages: + msg15336 | 
| 2025-10-21 16:45:52 | admin | set | status: new -> ready | 
| 2025-10-20 13:37:49 | admin | set | messages: + msg15272 | 
| 2025-10-20 00:00:00 | admin | create | |