digitalmars.D.bugs - Calling through an interface invokes the wrong method
- van eeshan (41/41) Aug 04 2004 Calling through an interface invokes the wrong method:
- van eeshan (15/56) Aug 07 2004 By the way: switching the order of the IThree declaration to this:
Calling through an interface invokes the wrong method: interface IOne { void one (); } interface ITwo { void two (); } interface IThree : IOne, ITwo { void three (); } class Three : IThree { void one () { printf ("one\n"); } void two () { printf ("two\n"); } void three () { printf ("three\n"); } } void main() { IThree three = new Three; three.one(); three.two(); three.three(); } print the following: one one three This clearly makes interfaces unusable at a rather fundamental level. Would very much appreciate a fix asap.
Aug 04 2004
By the way: switching the order of the IThree declaration to this: interface IThree : ITwo, IOne { void three (); } produces this (incorrect) output instead: two two three I suppose if there's honor amongst thieves then there should be symmetry within bugs. Can you perhaps give some indication when this might be resolved please? "van eeshan" <vanee hotmail.net> wrote in message news:ces67k$rgj$1 digitaldaemon.com...Calling through an interface invokes the wrong method: interface IOne { void one (); } interface ITwo { void two (); } interface IThree : IOne, ITwo { void three (); } class Three : IThree { void one () { printf ("one\n"); } void two () { printf ("two\n"); } void three () { printf ("three\n"); } } void main() { IThree three = new Three; three.one(); three.two(); three.three(); } print the following: one one three This clearly makes interfaces unusable at a rather fundamental level.Wouldvery much appreciate a fix asap.
Aug 07 2004