diff --git a/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike b/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike index a95aac8bd71bcab097e41cea6322651925c732e8..cb11f059fcc8ffb3b63e47841d4b85c5bc7f644e 100644 --- a/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike +++ b/lib/modules/Tools.pmod/Standalone.pmod/precompile.pike @@ -1479,6 +1479,7 @@ int evaluate_method(mixed q) return val; } +// Polymorphic overloader. array generate_overload_func_for(array(FuncData) d, int indent, int min_possible_arg, @@ -1580,6 +1581,11 @@ array generate_overload_func_for(array(FuncData) d, if(best_method == -1) { + if (min_args == max_args) { + error("Can't differentiate between %d implementations of %s().\n", + sizeof(d), name); + } + /* Switch on number of arguments */ out+=({PC.Token(sprintf("%*nswitch(args) {\n",indent))}); for(int a=min_args;a<=max_args;a++)