On 31.08.2017 01:34, Jean-Louis Leroy wrote:
On Wednesday, 30 August 2017 at 22:30:12 UTC, data pulverizer wrote:
On Wednesday, 30 August 2017 at 22:10:38 UTC, Jean-Louis Leroy wrote:
On Wednesday, 30 August 2017 at 21:30:29 UTC, data pulverizer wrote:
In the light of this I think your package just became more interesting to me.

I think that your work and mine are complementary :-)

Here is one strange difference between inheriting from an interface and a class:

```
interface Animal{}
class Dog: Animal{}
class Cat: Animal{}


void main()
{
    Animal[] x;
    x ~= new Cat();
    x ~= new Dog();
    x ~= new Cat();
    writeln(typeid(x[0])); // Gives Animal
}
```

But if Animal is set to a class the typeid gives Cat, why does this happen? Does this mean that inheriting from an interface is not really polymorphism?

I noticed that too. Still scratching my head.

typeid(Interface) has been subject to a number of bugzilla reports, e.g. https://issues.dlang.org/show_bug.cgi?id=13833 and https://issues.dlang.org/show_bug.cgi?id=14612.

Reply via email to