This works in both 7.6.117 and 7.7.39 (although 7.7 gives a warning about an unused private function):
[...]
Strange; program.c:low_find_lfun() does a lookup with SEE_STATIC, and no SEE_PRIVATE. The reason seems to be that really_low_find_shared_string_identifier() only cares about SEE_PRIVATE if the symbol has been inherited (ie comes from a private inherit)..
I think changing it would have some annoying compatibility impact.