summaryrefslogtreecommitdiff
path: root/Test/hofs/Classes.dfy
diff options
context:
space:
mode:
authorGravatar leino <unknown>2015-06-30 17:27:21 -0700
committerGravatar leino <unknown>2015-06-30 17:27:21 -0700
commite7430a9b1d17ea92e986470e898d6b74fae3cea6 (patch)
treee791d875fc28fe4df9eaca675756c2fd48addb4c /Test/hofs/Classes.dfy
parent3ca52e0f1bdc1ee0edfe19f774661bf02bf0e6b3 (diff)
Additional test case for instance functions
Diffstat (limited to 'Test/hofs/Classes.dfy')
-rw-r--r--Test/hofs/Classes.dfy17
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
+ }
+}