Bug description
The message of ambiguous_local_time exception class should be (per [time.zone.exception.ambig]/4):
Effects: Initializes the base class with a sequence of char equivalent to that produced by os.str() initialized as shown below:
ostringstream os;
os << tp << " is ambiguous. It could be\n"
<< tp << ' ' << i.first.abbrev << " == "
<< tp - i.first.offset << " UTC or\n"
<< tp << ' ' << i.second.abbrev << " == "
<< tp - i.second.offset << " UTC";
Repro:
#include <cassert>
#include <chrono>
#include <iostream>
#include <string>
int main() {
const std::string_view required_start =
"2016-11-06 01:30:00 is ambiguous. It could be";
// Example 1, [time.zone.exception.ambig]/4
using namespace std::chrono;
try {
auto zt = zoned_time{"America/New_York",
local_days{Sunday[1] / November / 2016} + 1h + 30min};
} catch (const ambiguous_local_time &e) {
std::cout << e.what() << '\n';
assert(std::string_view{e.what()}.starts_with(required_start));
}
}
Build:
PS D:\stl-playground> clang -std=c++20 .\test.cpp
PS D:\stl-playground> .\a.exe
2016-11-06 01:30:00 is ambiguous. It could be
2016-11-06 01:30:00 GMT-4 == 2016-11-06 05:30:00 UTC or
2016-11-06 01:30:00 GMT-5 == 2016-11-06 06:30:00 UTC
Assertion failed: std::string_view{e.what()}.starts_with(required_start), file .\test.cpp, line 17
Summary:
"Good first issue" tips
It should say is ambiguous. It could be (two spaces) in those places:
|
_Os << _Tp << " is ambiguous. It could be\n"
|
|
== "2016-11-06 01:30:00 is ambiguous. It could be\n" |
|
== "2016-11-06 01:30:00 is ambiguous. It could be\n" |
Bug description
The message of
ambiguous_local_timeexception class should be (per [time.zone.exception.ambig]/4):Repro:
Build:
Summary:
0x20) missing between "ambiguous." and "It","Good first issue" tips
It should say
is ambiguous. It could be(two spaces) in those places:STL/stl/inc/chrono
Line 6014 in e6a12f7
STL/tests/std/tests/P0355R7_calendars_and_time_zones_formatting/test.cpp
Line 801 in e6a12f7
STL/tests/std/tests/P0355R7_calendars_and_time_zones_formatting/test.cpp
Line 805 in e6a12f7