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>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~