aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/stateful-obj.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
committerGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
commitd6b7c96c3eb29b9244ece0c046d3f372ff432d04 (patch)
treeb425187e232966063ffc2f0d14c04a55d8f004ef /src/test/run-pass/stateful-obj.rs
parentInitial git commit. (diff)
downloadrust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.tar.xz
rust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.zip
Populate tree.
Diffstat (limited to 'src/test/run-pass/stateful-obj.rs')
-rw-r--r--src/test/run-pass/stateful-obj.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/run-pass/stateful-obj.rs b/src/test/run-pass/stateful-obj.rs
new file mode 100644
index 00000000..c1d96cc3
--- /dev/null
+++ b/src/test/run-pass/stateful-obj.rs
@@ -0,0 +1,23 @@
+// -*- rust -*-
+
+obj counter(mutable int x) {
+ fn hello() -> int {
+ ret 12345;
+ }
+ fn incr() {
+ x = x + 1;
+ }
+ fn get() -> int {
+ ret x;
+ }
+}
+
+fn main() {
+ auto y = counter(0);
+ check (y.hello() == 12345);
+ log y.get();
+ y.incr();
+ y.incr();
+ log y.get();
+ check (y.get() == 2);
+}