digitalmars.D.bugs - [Issue 3759] New: Implementing two interfaces with same final function is accepted
- d-bugmail puremagic.com (41/41) Jan 31 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3759
- d-bugmail puremagic.com (27/27) Jan 31 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3759
- d-bugmail puremagic.com (11/11) Feb 06 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3759
- d-bugmail puremagic.com (15/15) Jan 30 2012 http://d.puremagic.com/issues/show_bug.cgi?id=3759
http://d.puremagic.com/issues/show_bug.cgi?id=3759 Summary: Implementing two interfaces with same final function is accepted Product: D Version: 2.040 Platform: x86_64 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: ary esperanto.org.ar PST --- import std.stdio; interface One { final void foo() { writefln("One"); } } interface Two { final void foo() { writefln("Two"); } } class X : One, Two { } class Y : Two, One { } void main() { X x = new X(); x.foo(); // prints "One" Y y = new Y(); y.foo(); // prints "Two" } --- This might lead to bugs. I think this should be a compile-time error. I don't know how to solve this issue if you do want to implement both interfaces. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 31 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3759 Mike Parker <aldacron gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aldacron gmail.com According to TDPL, the solution *should* be the following: --- void main() { X x = new X(); x.foo(); // prints "One" x.Two.foo(); // should print "Two" Y y = new Y(); y.foo(); // prints "Two" y.One.foo(); // should print "One" } --- But this gives the following errors: ifinal.d(28): Error: no property 'Two' for type 'ifinal.X' Error: no property 'foo' for type 'int' ifinal.d(28): Error: function expected before (), not __error of type int ifinal.d(31): Error: no property 'One' for type 'ifinal.Y' Error: no property 'foo' for type 'int' ifinal.d(31): Error: function expected before (), not __error of type int -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 31 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3759 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|x86_64 |x86 --- Mass migration of bugs marked as x86-64 to just x86. The platform run on isn't what's relevant, it's if the app is a 32 or 64 bit app. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3759 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |yebblies gmail.com Platform|x86 |All Version|2.040 |D2 Resolution| |DUPLICATE OS/Version|Windows |All *** This issue has been marked as a duplicate of issue 4647 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2012