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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #2)
> The difference is is_convertible definition.
> 12:
>   template<typename _From, typename _To>
>     struct is_convertible
>     : public __is_convertible_helper<_From, _To>::type
>     { };
> 
> 
> 13:
>   template<typename _From, typename _To>
>     struct is_convertible
>     : public __bool_constant<__is_convertible(_From, _To)>
>     { };
> 
> So it might be a front-end issue after all.

and yes that is definitely the difference here. If I add back the
__is_convertible_helper and use that for is_convertible to the GCC 13
preprocessed source, the code then compiles.

Reply via email to