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.

4278. Consider changing how get-domain-early(sndr) works

Section: 33.9.2 [exec.snd.expos] Status: New Submitter: Jonathan Wakely Opened: 2025-06-16 Last modified: 2025-06-21

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:

During LWG review of P3481R3 it was noted that we need to say "except that sndr is only evaluated once" because it's used in get-domain-early(sndr), but that exposition-only-function doesn't actually use its argument, it only cares about the type, and it default constructs a Domain of a type determined by using the type of sndr.

If we had something like:

template<class Sender>
using get-domain-early-t = decltype(get-domain-early(declval<const Sender&>()));

then we wouldn't need to use sndr twice in expressions that currently use get-domain-early(sndr).

Proposed resolution: