[Issue 4648] In contracts in interfaces missbehaving

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4648


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||DUPLICATE


--- Comment #3 from Walter Bright bugzi...@digitalmars.com 2012-01-25 
12:41:12 PST ---
*** This issue has been marked as a duplicate of issue 7335 ***

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


[Issue 4648] In contracts in interfaces missbehaving

2011-06-05 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4648


Denis Karabaza truesmi...@gmail.com changed:

   What|Removed |Added

 CC||truesmi...@gmail.com


--- Comment #2 from Denis Karabaza truesmi...@gmail.com 2011-06-05 09:02:54 
PDT ---
Same problem, when overriding contracted function (D 2.053, windows and
ubutnu).
So, it seems to be about all the contract inheritance.

class A {
  void f(int a)
  in { writeln(a); }
  out { writeln(a); }
  body {}
}

class B: A {
  override void f(int a) { writeln(a); }
}

void main() {
  A a = new B;
  a.f(42); // prints garbage, 42, garbage
}

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


[Issue 4648] In contracts in interfaces missbehaving

2011-06-04 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4648


Mike Shulman viritrilbi...@gmail.com changed:

   What|Removed |Added

 CC||viritrilbi...@gmail.com


--- Comment #1 from Mike Shulman viritrilbi...@gmail.com 2011-06-04 20:37:50 
PDT ---
'Out' contracts in interfaces seem to have the same problem: the arguments
passed to the function get replaced by garbage.

On my system (DMD v2.053 on Ubuntu) the precise value of the garbage appears to
depend on what data members exist in the class which implements the interface. 
E.g. Andrej's code writeln outputs 0 for me, but if I add int x; to the
definition of Base, it outputs instead 135115244.

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