diff options
Diffstat (limited to 'src/test/run-pass/obj-recursion.rs')
| -rw-r--r-- | src/test/run-pass/obj-recursion.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/run-pass/obj-recursion.rs b/src/test/run-pass/obj-recursion.rs new file mode 100644 index 00000000..3e562e36 --- /dev/null +++ b/src/test/run-pass/obj-recursion.rs @@ -0,0 +1,25 @@ +type adder = + obj { + fn add(); + }; + +obj leaf_adder(int x) { + fn add() { + log "leaf"; + log x; + } +} +obj delegate_adder(adder a) { + fn add() { + a.add(); + } +} + +fn main() { + auto x = + delegate_adder + (delegate_adder + (delegate_adder + (leaf_adder(10)))); + x.add(); +}
\ No newline at end of file |