https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61166

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Kan Liu from comment #10)
> _Select_type already does the overflow check, so *template implemented
> operators* is still redundant I think.

You can't use _Select_type on a literal operator that is not a template.

> Since the standard units (std::hours,
> milliseconds ...) requires the duration::rep to be *int64_t*,

No it doesn't, only chrono::nanoseconds is required to have a 64-bit
representation. chrono::hours and chrono::minutes are allowed to have fewer
than 32 bits ("at least 23 bits" and "at least 29 bits" respectively).

> there's no
> need to do too much check.

Not all values of uint64_t fit in int64_t

Reply via email to