Short: virtual inherit vs. inherit_list
Date: 981208
Type: Bug
State: Done - handled in 3.2.8-dev.151
From: Coogan

Files which are inherited virtually are listed at least twice in the lists
of inherits. -- This is an artifact of the breadth-search in inherit_list().

This makes (non-virtual) nomask functions in this file impossible.

Abridged scenario:

  ------ c.c ------
  nomask mixed inh_c() { return ...; }
  ------ a.c ------
  virtual inherit "c";
  virtual inherit "c";

  Yields the error message: "Illegal to inherit 'nomask' function inh_c twice"

---------- Analysis ----------

This problem is not that the files are listed multiple times, but instead
that the virtuality of the second inherit is taken in to account.
Reason is a malformed check in prolang.y::copy_functions(), which was corrected
in 3.2.8-dev.151 .


