Cyclic definition of overriding

Dan Smith daniel.smith at
Tue Jun 9 21:27:23 UTC 2015

> On Jun 9, 2015, at 3:12 PM, Alex Buckley <alex.buckley at> wrote:
> On 6/9/2015 1:36 PM, Alex Buckley wrote:
>> Knowing to apply rather than is extremely subtle. Once
>> you do, it's plain that does not override-from-Test1 the
>> method foo() declared in Test2, and vice versa, thus class Test inherits
>> both foo() methods (harmlessly). I will add cross-refs from 8.4.8 to
>> both and to clarify.
> In particular, the 8.4.8 clause:
> "such that m' from D' overrides the declaration of the method m."
> should read:
> "such that m' overrides from D' (, the declaration of the method m." -- note the relocation of "from D'".
> (Plus class Test needs to be abstract of course.)

Yes, this is good.  "From D' overrides" is awkward.

The confusion isn't so much about Chapter 8 vs. Chapter 9 -- both immediately assert that Test1 is a subclass/subinterface of Test2.  The problem is in recognizing that D' (Test1) is not the same as D (Test), which this change makes more clear.  (Hope I'm not mixing up Test1 and Test2 here, but if so, you know what I mean.)


More information about the compiler-dev mailing list