https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109772
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
There's another problem which is that hh_mm_ss<duration<char, ratio<1, 11>>>
fails to compile:
/home/jwakely/gcc/13/include/c++/13.0.1/chrono: In instantiation of 'class
std::chrono::hh_mm_ss<std::chrono::duration<char, std::ratio<1, 11> > >':
hms.cc:12:63: required from here
/home/jwakely/gcc/13/include/c++/13.0.1/chrono:2439:37: error: ambiguous
template instantiation for 'struct
std::chrono::hh_mm_ss<std::chrono::duration<char, std::ratio<1, 11> >
>::__subseconds<std::chrono::duration<long int, std::ratio<1, 1000000> > >'
2439 | __subseconds<precision> _M_ss{};
| ^~~~~
/home/jwakely/gcc/13/include/c++/13.0.1/chrono:2412:18: note: candidates are:
'template<class _Duration> template<class _Rep, class _Period> requires
!(treat_as_floating_point_v<_Rep>) && (ratio_less_v<_Period, std::ratio<1, 1>
>) && ((ratio_greater_equal_v<_Period, std::ratio<1, 250> >) ||
(__fits<unsigned char>)) struct
std::chrono::hh_mm_ss<_Duration>::__subseconds<std::chrono::duration<_Rep,
_Period> > [with _Rep = long int; _Period = std::ratio<1, 1000000>; _Duration =
std::chrono::duration<char, std::ratio<1, 11> >]'
2412 | struct __subseconds<duration<_Rep, _Period>>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jwakely/gcc/13/include/c++/13.0.1/chrono:2426:18: note:
'template<class _Duration> template<class _Rep, class _Period> requires
!(treat_as_floating_point_v<_Rep>) && (ratio_less_v<_Period, std::ratio<1, 250>
>) && ((ratio_greater_equal_v<_Period, std::ratio<1, 4000000000> >) ||
(__fits<uint_least32_t>)) struct
std::chrono::__subseconds<std::chrono::duration<_Rep, _Period> > [with _Rep =
long int; _Period = std::ratio<1, 1000000>; _Duration =
std::chrono::duration<char, std::ratio<1, 11> >]'
2426 | struct __subseconds<duration<_Rep, _Period>>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~