[Issue 3023] New: override keyword fail if iface has several super interfaces

2009-05-24 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3023

   Summary: override keyword fail if iface has several super
interfaces
   Product: D
   Version: 1.044
  Platform: Other
OS/Version: Linux
Status: NEW
  Keywords: diagnostic
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: bugzi...@digitalmars.com
ReportedBy: larsi...@igesund.net


dmd -c bah.d
-
interface A { void foo(); } 
interface AA { void foofoo(); }
interface B : A, AA { void bar(); } 
class C : B { 
override void foo() {} 
override void bar() {} 
override void foofoo() {}
}

results in

bah.d(7): Error: function bah.C.foofoo does not override any function

Tested with DMD 1.045 (but that version isn't present in the dropdown).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3010] ICE(mtype.c) function pointer type deduction puts compiler in corrupt state

2009-05-24 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3010





--- Comment #1 from Don clugd...@yahoo.com.au  2009-05-24 13:24:23 PDT ---
I making really slow progress on this, so am including a progress update.

In mtype.c, TypeNext::makeInvariant(), there's a line:

if (ty != Tfunction  ty != Tdelegate  next-deco 
!next-isInvariant())
{t-next = next-invariantOf();

But in the case where 'next' was created by auto type deduction, next-deco is
NULL, so next-invariantOf() never gets called, and we get a malformed
immutable type. I haven't yet worked out why next-deco is NULL when next is a
TypeFunction which was created through type inference. It could be  because it
began life as a TypeSymOff?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---