digitalmars.D.bugs - [Issue 3722] New: A method without an in contract should always succeed, even if overridden
- d-bugmail puremagic.com (35/36) Jan 19 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3722
- d-bugmail puremagic.com (12/12) Jul 02 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3722
- d-bugmail puremagic.com (13/13) Jul 03 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3722
http://d.puremagic.com/issues/show_bug.cgi?id=3722 Summary: A method without an in contract should always succeed, even if overridden Product: D Version: 2.039 Platform: Other OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: kiki kmonos.net In dmd 2.039, the following code fails to pass the in-contract. class Base { void method() {} } class Derived : Base { void method() in { assert(false); } body {} } void main() { Base b = new Derived; b.method(); } But, according to the spec, IIUC, it should successfully pass the check.A function without an in contract means that any values of the function parameters are allowed. This implies that if any function in an inheritance hierarchy has no in contract, then in contracts on functions overriding it have no useful effect.If I add an explicit empty in-contract to Base.method: void method() in{} body{} then it passes the check. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 19 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3722 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, wrong-code CC| |yebblies gmail.com Platform|Other |All https://github.com/D-Programming-Language/dmd/pull/192 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 02 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3722 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 02:21:33 PDT --- https://github.com/D-Programming-Language/dmd/commit/1de48286f27eeb58231ab033d35385f06bf0e578 https://github.com/D-Programming-Language/dmd/commit/f2722bf1b96c024141698edfb01894578590a546 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 03 2011