Assigning a const instance to an interface implies an implicit cast. Is it 
acceptable for the const-correctness ??

interface I { void foo(); }

class C : I { void foo() { writeln("a"); } }
...
C c = new C;
I i = c;     // ok
c.foo();    // ok
i.foo();    // ok
        
const C cc = c;
I ci = cc;      // no error , why ???
// cc.foo();  // compile time error - ok
ci.foo();   // const correctness overridden ???

Thanks

Reply via email to