about summary refs log tree commit diff
path: root/src/rt/rust_shape.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_shape.cpp')
-rw-r--r--src/rt/rust_shape.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rt/rust_shape.cpp b/src/rt/rust_shape.cpp
index 7f242143d51..c6ee35717dc 100644
--- a/src/rt/rust_shape.cpp
+++ b/src/rt/rust_shape.cpp
@@ -279,6 +279,12 @@ private:
         result = sub.result;
     }
 
+    inline void walk_uniq_contents(cmp &sub) {
+        sub.align = true;
+        sub.walk();
+        result = sub.result;
+    }
+
     inline void cmp_two_pointers() {
         ALIGN_TO(alignof<void *>() * 2);
         data_pair<uint8_t *> fst = bump_dp<uint8_t *>(dp);
@@ -341,6 +347,10 @@ public:
         data<cmp,ptr_pair>::walk_box_contents();
     }
 
+    void walk_uniq() {
+        data<cmp,ptr_pair>::walk_uniq_contents();
+    }
+
     void walk_fn()  { return cmp_two_pointers(); }
     void walk_obj() { return cmp_two_pointers(); }