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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the trunk has a different error message:
t.cc: In function ‘int main(int, char**)’:
t.cc:12:30: error: no matching function for call to
‘print_action(function<string*(int, string)>&)’
   print_action<string, int>(t);
                              ^

t.cc:6:6: note: candidate: template<class ActionType, class ... Cols> void
print_action(function<ActionType*(Cols ..., ActionType)>)
 void print_action(function<ActionType*(Cols..., ActionType)> action_factory)
      ^~~~~~~~~~~~

t.cc:6:6: note:   template argument deduction/substitution failed:
t.cc:12:30: note:   mismatched types ‘string’ and ‘int’
   print_action<string, int>(t);
                              ^

t.cc:13:17: error: no matching function for call to
‘print_action(function<string*(int, string)>&)’
   print_action(t);
                 ^

t.cc:6:6: note: candidate: template<class ActionType, class ... Cols> void
print_action(function<ActionType*(Cols ..., ActionType)>)
 void print_action(function<ActionType*(Cols..., ActionType)> action_factory)
      ^~~~~~~~~~~~

t.cc:6:6: note:   template argument deduction/substitution failed:
t.cc:13:17: note:   deduced conflicting types for parameter ‘ActionType’
(‘string’ and ‘int’)
   print_action(t);
                 ^

Reply via email to