[Issue 414] New: interfaces shouldn't be able to inheit from classes

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Oct 9 07:42:17 PDT 2006


http://d.puremagic.com/issues/show_bug.cgi?id=414

           Summary: interfaces shouldn't be able to inheit from classes
           Product: D
           Version: 0.169
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: davidl at 126.com


http://paste.dprogramming.com/dpi6v8ch.php
interfaces shouldn't be able to inheit from classes
import std.c.stdio;
import std.stdio;
 interface  a{
 int c();
 }

void main()
{
 class b:a{
 int c(){writefln("b.c");return 1;}
 }
 class c:b{
 int c(){writefln("c.c");return 1;}
 }
 class f:b{
 int k(){writefln("f.k");return 1;}
 }
 interface u:c,f,a{
 int c();
 int k();
 }
 class d:u
 {
  int c(){writefln("d.c");return 2;}
  int k(){writefln("d.k");return 2;}
 }
 d a= new d;
 c v= cast(c)a;
 f newf=cast(f)a;
 a.k();   //prints d.k
 newf.k(); //access violation
 v.c();  //access violation
}


-- 




More information about the Digitalmars-d-bugs mailing list