3678. Constructors of std::chrono::time_zone might be overly unspecified

Section: 30.11.5.1 [time.zone.overview] Status: New Submitter: Jiang An Opened: 2022-02-23 Last modified: 2022-03-04

Priority: 4

View all issues with New status.

Discussion:

In 30.11.5.1 [time.zone.overview], only defaulted move constructor and move assignment operator for std::chrono::time_zone are shown, other constructors are said to be "unspecified additional constructors". Presumably the intent is that the default constructor is not declared (suppressed) and the copy constructor is implicitly deleted, but it is not clear if they are not "unspecified additional constructors" and hence implicitly specified.

On the other hand, the defaulted definitions of move functions bring almost no specification, as no exposition only member is shown. So it is unspecified whether these functions are deleted, trivial, constexpr, or noexcept. Perhaps we want these functions to be non-deleted and noexcept, while triviality and constexpr-ness should be left unspecified.

[2022-03-04; Reflector poll]

Set priority to 4 after reflector poll.

Proposed resolution: