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

Michał Mirosław <mirq-gccboogs at rere dot qmqm.pl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mirq-gccboogs at rere dot 
qmqm.pl

--- Comment #3 from Michał Mirosław <mirq-gccboogs at rere dot qmqm.pl> ---
Created attachment 44379
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44379&action=edit
Testcase with enable_if_t

Happens also in 6.3.0, 7.3.0, 8.1.0 (same messages generated for those
versions).

Slightly different testcase, with enable_if_t.

$ g++ -c -std=c++17 a.cc

a.cc: In function ‘void bar()’:
a.cc:22:7: error: no matching function for call to ‘foo(A&)’
  foo(a);
       ^
a.cc:6:6: note: candidate: template<class S, class, class> void foo(S&)
 void foo(S&);
      ^~~
a.cc:6:6: note:   template argument deduction/substitution failed:
a.cc:9:6: note: candidate: template<class S, class> void foo(S&)
 void foo(S&);
      ^~~
a.cc:9:6: note:   template argument deduction/substitution failed:
a.cc:8:23: error: no type named ‘other’ in ‘struct A’
 template <typename S, typename = void_t<typename S::other>>
                       ^~~~~~~~

Reply via email to