about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/rt/rust_builtin.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index a8e1e7a0be4..3f6545caaa8 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -241,13 +241,12 @@ debug_opaque(type_desc *t, uint8_t *front) {
     rust_task *task = rust_get_current_task();
     LOG(task, stdlib, "debug_opaque");
     debug_tydesc_helper(t);
+    // Account for alignment. `front` may not indeed be the
+    // front byte of the passed-in argument
+    if (((uintptr_t)front % t->align) != 0) {
+        front = (uint8_t *)align_to((uintptr_t)front, (size_t)t->align);
+    }
     for (uintptr_t i = 0; i < t->size; ++front, ++i) {
-
-        // Account for alignment. `front` may not indeed be the
-        // front byte of the passed-in argument
-        if (((uintptr_t)front % t->align) != 0)
-            front = (uint8_t *)align_to((uintptr_t)front, (size_t)t->align);
-
         LOG(task, stdlib, "  byte %" PRIdPTR ": 0x%" PRIx8, i, *front);
     }
 }