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.
Section: 33.2.1 [exec.queryable.general] Status: New Submitter: Eric Niebler Opened: 2025-05-07 Last modified: 2025-05-18
Priority: Not Prioritized
View all issues with New status.
Discussion:
Imported from cplusplus/sender-receiver #333.
We require the types of query objects such asget_scheduler
to be customization point objects.
16.3.3.3.5 [customization.point.object] requires them to be semiregular
but that concept
does not require default constructability. Much of std::execution
assumes query object types
to be default constructible.
I propose adding a (nothrow) default-constructibility requirement.
Proposed resolution:
This wording is relative to N5008.
Modify 33.2.1 [exec.queryable.general] as indicated:
-1- A queryable object is a read-only collection of key/value pair where each key is a customization point object known as a query object. The type of a query object satisfies
default_initializable
, and its default constructor is not potentially throwing. A query is an invocation of a query object with a queryable object as its first argument and a (possibly empty) set of additional arguments. A query imposes syntactic and semantic requirements on its invocations.