> No. I can't change the algorithm, because it will break backward compatibility. > > As I said, if you have such problems you'd better avoid them by > changing the alias of the exposed functions. As you can see, a > developer can add a new constructor and as the result other function > will be called. This is hard to find problem. > > Don't you think so?
I understand the "backward compatibility" problem, but why can't you simply implement a new method in calldef_organizer_t (to avoid backward compatibility issues) instead of using the actual "decl_wrappers.algorithm.registration_order.is_related"? In my opinion I would remove the "one param only" limit in every case, but I think that the second problem that I have reported is what users "expect" when USE_CALLDEF_ORGANIZER is enabled. If you decide to not implement this change, can you help me in writing that?