Hi,
This is an odd one. Consider the following code:
interface I
{
void foo()
out { assert(bar()); }
bool bar();
}
class C : I
{
void foo() {}
bool bar() { return true; }
}
void main()
{
C c = new C();
c.foo();
}
This will crash and burn when run:
object.Error: Access Violation
----------------
40DB64
40D9DB
402050
402074
4026F3
4022EF
4127B5
----------------
I assume this is a bug, but has anyone encountered this before or have
any idea why exactly it happens when calling other interface methods in
an interface method's out contract? (It seems to work fine in the in
contract.)
- Alex