about summary refs log tree commit diff
path: root/src/rt/rust_cc.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-01-10 19:04:09 -0800
committerNiko Matsakis <niko@alum.mit.edu>2012-01-10 19:05:28 -0800
commit441a42c5d2707ae93a8be3c6be5c426e7416e50b (patch)
treeaf52c689c2e2b3411039455805c5193ae1052561 /src/rt/rust_cc.cpp
parent0e334c6839566dfa7d173ce6a4f83d672d223114 (diff)
downloadrust-441a42c5d2707ae93a8be3c6be5c426e7416e50b.tar.gz
rust-441a42c5d2707ae93a8be3c6be5c426e7416e50b.zip
update shape code to handle iface instances
Diffstat (limited to 'src/rt/rust_cc.cpp')
-rw-r--r--src/rt/rust_cc.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rt/rust_cc.cpp b/src/rt/rust_cc.cpp
index bf872700f0e..a96c3739ca3 100644
--- a/src/rt/rust_cc.cpp
+++ b/src/rt/rust_cc.cpp
@@ -110,6 +110,11 @@ class irc : public shape::data<irc,shape::ptr> {
         maybe_record_irc(ref_count_dp);
     }
 
+    void walk_iface() {
+        // an iface is always a ptr to a ref-counted obj.
+        shape::data<irc,shape::ptr>::walk_box_contents();
+    }
+
     void walk_res(const shape::rust_fn *dtor, unsigned n_params,
                   const shape::type_param *params, const uint8_t *end_sp,
                   bool live) {
@@ -497,6 +502,10 @@ class sweep : public shape::data<sweep,shape::ptr> {
         return;
     }
 
+    void walk_iface() {
+        shape::data<sweep,shape::ptr>::walk_box_contents();
+    }
+
     void walk_res(const shape::rust_fn *dtor, unsigned n_params,
                   const shape::type_param *params, const uint8_t *end_sp,
                   bool live) {