3224. zoned_time constructor from TimeZonePtr does not specify initialization of tp_

Section: 30.11.7.2 [time.zone.zonedtime.ctor] Status: C++20 Submitter: Tomasz Kamiński Opened: 2019-06-20 Last modified: 2021-02-25

Priority: 0

View all other issues in [time.zone.zonedtime.ctor].

View all issues with C++20 status.

Discussion:

The zoned_time(TimeZonePtr z) does not specify how the tp_ sub-element is initialized. It should be consistent with zoned_time(string_view) that default initializes tp_.

[2019-07 Issue Prioritization]

Status to Tentatively Ready after five positive votes on the reflector.

Proposed resolution:

This wording is relative to N4820.

  1. Modify 30.11.7.2 [time.zone.zonedtime.ctor] as indicated:

    explicit zoned_time(TimeZonePtr z);
    

    -5- Requires: z refers to a time zone.

    -6- Effects: Constructs a zoned_time by initializing zone_ with std::move(z) and default constructing tp_.