about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/run-pass/issue-2633.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-2633.rs b/src/test/run-pass/issue-2633.rs
new file mode 100644
index 00000000000..b3b7649536a
--- /dev/null
+++ b/src/test/run-pass/issue-2633.rs
@@ -0,0 +1,18 @@
+// Currently segfaults
+// xfail-test
+class cat {
+    let mut meow: fn@();
+    new() { self.meow = fn@() { #error("meow"); };}
+}
+
+type kitty_info = {kitty: cat};
+
+// Code compiles and runs successfully if we add a + before the first arg
+fn nyan(kitty: cat, _kitty_info: kitty_info) {
+    kitty.meow();
+}
+
+fn main() {
+    let mut kitty = cat();
+    nyan(kitty, {kitty: kitty});
+}
\ No newline at end of file