diff options
author | leino <unknown> | 2015-06-30 17:27:21 -0700 |
---|---|---|
committer | leino <unknown> | 2015-06-30 17:27:21 -0700 |
commit | e7430a9b1d17ea92e986470e898d6b74fae3cea6 (patch) | |
tree | e791d875fc28fe4df9eaca675756c2fd48addb4c /Test/hofs/Classes.dfy | |
parent | 3ca52e0f1bdc1ee0edfe19f774661bf02bf0e6b3 (diff) |
Additional test case for instance functions
Diffstat (limited to 'Test/hofs/Classes.dfy')
-rw-r--r-- | Test/hofs/Classes.dfy | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Test/hofs/Classes.dfy b/Test/hofs/Classes.dfy index 0ceb46f1..9d8044db 100644 --- a/Test/hofs/Classes.dfy +++ b/Test/hofs/Classes.dfy @@ -47,3 +47,20 @@ method U(t : T) t.h := x => x; assert J(t) == 0; // ok } + +class MyClass { + var data: int + function method F(): int + reads this + { + data + } + method M(that: MyClass) + requires that != null + { + var fn := that.F; // "that" is captured into the closure + var d := fn(); + assert d == that.data; // yes + assert d == this.data; // error: no reason to believe that this would hold + } +} |