view test/interface6.d @ 175:c44e6a711885 trunk

[svn r191] Fixed: array literals did not support all type/storage combinations. Fixed: with expression had broke somewhere along the way.
author lindquist
date Wed, 07 May 2008 00:01:13 +0200
parents 44a95ac7368a
children
line wrap: on
line source

module interface6;

extern(C) int printf(char*,...);

interface I
{
    void Ifunc();
}

interface J
{
    void Jfunc();
}

class C : I,J
{
    int i;
    int j;
    void Ifunc()
    {
        i++;
    }
    void Jfunc()
    {
        j++;
    }
}

void main()
{
    C c = new C;
    c.Ifunc();
    c.Jfunc();
    I i = c;
    i.Ifunc();
    J j = c;
    j.Jfunc();
    C c2 = cast(C)i;
    c2.Ifunc();
    c2.Jfunc();
    C c3 = cast(C)j;
    c3.Ifunc();
    c3.Jfunc();
    assert(c.i == 4);
    assert(c.j == 4);
}