digitalmars.D.bugs - Another interface bug -- double inheritance of same
- Bill Baxter (35/35) Apr 22 2007 Different from the last one.
Different from the last one.
"Double declaring" an interface seems to cause it to ignore the fact
that a base class implements the interface.
interface Fruit
{
... // some methods
}
interface Vehicle
{
void drive_around();
... // some other methods
}
interface MobileFruit : Fruit, Vehicle
{
// nothing here, should inherit from superinterfaces
}
class BaseFruit : Fruit
{
// implement (some of) Fruit's methods here
}
class MobileFruitGundam : BaseFruit, MobileFruit, Fruit
{
// implement what's not in BaseFruit already
...
}
This complains that MobileFruitGundam doesn't implement Fruit's methods,
even though they're implemented by BaseFruit.
It's not a huge problem because I think the result still acts like a
Fruit even without the extra ",Fruit" there -- so
Fruit f = new MobileFruitGundam;
is still ok, but I think it is an issue for template code that wants to
derive from interfaces that are passed in as parameters or deduced from
template parameters.
Does this sound like a bug too?
--bb
Apr 22 2007








Bill Baxter <dnewsgroup billbaxter.com>