Skip to content

query objects must be default constructible #333

Description

@ericniebler

we require the types of query objects such as get_scheduler to be customization point objects. [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.

propose adding a (nothrow) default-constructibility requirement

Proposed Wording

change [exec.queryable.general] p1 as follows:

  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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions