https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81468
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- It seems that the implementation simply forgot to constrain overload resolution, since this is the complete definition of the affected constructor: template<typename _Dur2> constexpr time_point(const time_point<clock, _Dur2>& __t) : __d(__t.time_since_epoch()) { } The constraints were added by LWG 1177, http://cplusplus.github.io/LWG/lwg-defects.html#1177