https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67631
--- Comment #6 from Howard Hinnant <howard.hinnant at gmail dot com> --- Dropping the `explicit` specifier for the operator is an "over my dead body", sorry. That would be horrible. The next best workaround is to "respell" the explicit int operator() as `as_int() const`. But then everyone has to remember library-specific API for the operation instead of Uniform Initialization Syntax.