Hello,
In call.hpp the candidates arrary is set to 10 for the invoke_context struct but the invoke_normal() function in the same file has no knowledge of that and happily writes over the invoke_context.candidate_index variable when there's more than 10 possible function candidates causing a crash next iteration
else if (score == ctx.best_score)
{
ctx.candidates[ctx.candidate_index++] = &self; // after 10 iterations candidate_index == &self
}
It happens when you bind more then 10 functions with the same name but different argument type.
Hello, In call.hpp the candidates arrary is set to 10 for the invoke_context struct but the invoke_normal() function in the same file has no knowledge of that and happily writes over the invoke_context.candidate_index variable when there's more than 10 possible function candidates causing a crash next iteration
It happens when you bind more then 10 functions with the same name but different argument type.