Commit 059e4a0f authored by Joe Jevnik's avatar Joe Jevnik

Fix SFINAE in C++ functions

parent d92a718a
...@@ -4102,7 +4102,7 @@ def best_match(arg_types, functions, pos=None, env=None, args=None): ...@@ -4102,7 +4102,7 @@ def best_match(arg_types, functions, pos=None, env=None, args=None):
[pattern.type.deduce_template_params(actual) for (pattern, actual) in zip(func_type.args, arg_types)], [pattern.type.deduce_template_params(actual) for (pattern, actual) in zip(func_type.args, arg_types)],
{}) {})
if deductions is None: if deductions is None:
errors.append((func, "Unable to deduce type parameters for %s given %s" % (pattern.type, actual))) errors.append((func, "Unable to deduce type parameters for %s given (%s)" % (func_type, ', '.join(map(str, arg_types)))))
elif len(deductions) < len(func_type.templates): elif len(deductions) < len(func_type.templates):
errors.append((func, "Unable to deduce type parameter %s" % ( errors.append((func, "Unable to deduce type parameter %s" % (
", ".join([param.name for param in set(func_type.templates) - set(deductions.keys())])))) ", ".join([param.name for param in set(func_type.templates) - set(deductions.keys())]))))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment