This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
Data and Child in make-senderSection: 33.9.2 [exec.snd.expos] Status: New Submitter: Jonathan Wakely Opened: 2025-11-06 Last modified: 2025-11-06
Priority: Not Prioritized
View other active issues in [exec.snd.expos].
View all other issues in [exec.snd.expos].
View all issues with New status.
Discussion:
Addresses US 211-351
The Mandates: for make-sender defines Sndr as a type that
is different from what the Returns: element uses.
Proposed resolution:
This wording is relative to N5014.
Modify 33.9.2 [exec.snd.expos], as indicated:
template<class Tag, class Data = see below, class... Child> constexpr auto make-sender(Tag tag, Data&& data, Child&&... child);-24- Mandates: The following expressions are
true:
- (24.1) —
semiregular<Tag>- (24.2) —
movable-value<Data>- (24.3) —
(sender<Child> && ...)- (24.4) —
dependent_sender<Sndr> || sender_in<Sndr>, whereSndrisbasic-sender<Tag,as defined below.Data, Childdecay_t<Data>, decay_t<Child>...>Recommended practice: If evaluation ofsender_in<Sndr>results in an uncaught exception from the evaluation ofget_completion_signatures<Sndr>(), the implementation should include information about that exception in the resulting diagnostic.-25- Returns: A prvalue of type
basic-sender<Tag, decay_t<Data>, decay_t<Child>...>that has been direct-list-initialized with the forwarded arguments, wherebasic-senderis the following exposition-only class template except as noted below.