Title
Decay `Data` and `Child` in `make-sender`
Status
wp
Section
[exec.snd.expos]
Submitter
Jonathan Wakely

Created on 2025-11-06.00:00:00 last changed 1 month ago

Messages

Date: 2025-11-11.10:48:55

Proposed resolution:

This wording is relative to N5014.

  1. Modify [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`:

    1. (24.1) — semiregular<Tag>
    2. (24.2) — movable-value<Data>
    3. (24.3) — (sender<Child> && ...)
    4. (24.4) — dependent_sender<Sndr> || sender_in<Sndr>, where `Sndr` is basic-sender<Tag, Data, Child decay_t<Data>, decay_t<Child>...> as defined below.
      Recommended practice: If evaluation of sender_in<Sndr> results in an uncaught exception from the evaluation of get_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, where `basic-sender` is the following exposition-only class template except as noted below.

Date: 2025-11-11.10:48:55

[ Kona 2025-11-08; Status changed: Immediate → WP. ]

Date: 2025-11-06.19:44:28

[ Kona 2025-11-06; approved by LWG. Status changed: New → Immediate. ]

Date: 2025-11-06.00:00:00
Addresses US 211-351

The Mandates: for `make-sender` defines `Sndr` as a type that is different from what the Returns: element uses.

History
Date User Action Args
2025-11-11 10:48:55adminsetmessages: + msg15707
2025-11-11 10:48:55adminsetstatus: immediate -> wp
2025-11-06 19:44:28adminsetmessages: + msg15570
2025-11-06 19:44:28adminsetstatus: new -> immediate
2025-11-06 03:54:34adminsetmessages: + msg15557
2025-11-06 00:00:00admincreate