Skip to content

Missing is_clock_v enforcement in Clause 32 [thread] headers #1680

Description

WG21-N4878 [thread.req.paramname]/1: "Throughout this Clause, the names of template parameters are used to express type requirements. [...] If a template parameter is named Clock, the corresponding template argument shall be a type C for which is_clock_v<C> is true; otherwise the program is ill-formed."

C++23 P2212R2 "Relax Requirements for time_point::clock" changes this to: "If a template parameter is named Clock, the corresponding template argument shall be a type C that meets the Cpp17Clock requirements ([time.clock.req]); the program is ill-formed if is_clock_v<C> is false."

Either way, is_clock_v is supposed to be enforced (via the "ill-formed" wording), yet our headers never use is_clock_v.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixedSomething works now, yay!

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions