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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(This time with better formatting)

For the first error GCC currently shows:

> enab.cc:7:6: note:   template argument deduction/substitution failed:
> enab.cc:6:22: error: no type named 'type' in 'struct std::enable_if<false, 
> void>'
>     6 | template<typename T, typename = typename 
> std::enable_if<is_foo<T>::value>::type>
>       |                      ^~~~~~~~

And I suggest:

> enab.cc:7:6: note:   template argument deduction/substitution failed:
> enab.cc:6:22: error: enable_if condition not satisfied: 'is_foo<T>::value'
>     6 | template<typename T, typename = typename 
> std::enable_if<is_foo<T>::value>::type>
>       |                                                         
> ^~~~~~~~~~~~~~~~


I also see that Clang adds [with T = int] which isn't shown anywhere in GCC's
output (it has to be inferred from "no matching function for call to
'bar1(int)'").

Reply via email to