https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114240
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I think the problem is that I just have some generic logic that assumes all
sys_time specializations are a date time, and so require both a date and a
time. But obviously for sys_days we only need a date.
template<typename _CharT, typename _Traits, typename _Duration,
typename _Alloc = allocator<_CharT>>
basic_istream<_CharT, _Traits>&
from_stream(basic_istream<_CharT, _Traits>& __is, const _CharT* __fmt,
sys_time<_Duration>& __tp,
basic_string<_CharT, _Traits, _Alloc>* __abbrev = nullptr,
minutes* __offset = nullptr)
{
minutes __off{};
if (!__offset)
__offset = &__off;
using __format::_ChronoParts;
auto __need = _ChronoParts::_Year | _ChronoParts::_Month
| _ChronoParts::_Day | _ChronoParts::_TimeOfDay;
This should depend on _Duration::period.