[Issue 1449] deprecated methods are counted as interface implementation

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 16 09:07:24 PDT 2011


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



--- Comment #16 from yebblies <yebblies at gmail.com> 2011-06-16 09:02:40 PDT ---
> If that was stated explicitly in the spec, there is no way this bug could
> possibly be INVALID, as removing the declaration of foo() in the original
> example obviously breaks the build, even though it builds fine without »-d«
> being specified at the command line. Or am I misunderstanding you?

Sorry!  I misread that as 'if the deprecated attribute is removed'.

That would definitely make this a bug, but I don't think it's possible.

Consider:

---

module a;

deprecated
extern extern(C) func() {}

---

module b;
import a;

extern extern(C) func();

void main()
{
   func();
}

---

Adding/removing members can also change instance sizes, vtable layouts etc, and
that's without messing around with static if.

The current definition keeps it simple and achievable.

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


More information about the Digitalmars-d-bugs mailing list