diff --git a/xenomorph/xenomorph/versioned-struct.rkt b/xenomorph/xenomorph/versioned-struct.rkt index 758c376c..0976fce1 100644 --- a/xenomorph/xenomorph/versioned-struct.rkt +++ b/xenomorph/xenomorph/versioned-struct.rkt @@ -82,9 +82,12 @@ https://github.com/mbutterick/restructure/blob/master/src/VersionedStruct.coffee (for ([(key type) (in-dict fields)]) #R (list key 'in-verseioned-struct) (send type encode (dict-ref field-data key) port parent)) - (for ([ptr (in-list (dict-ref parent x:pointers-key))]) + #R (list 'broccoli (length (dict-ref parent x:pointers-key))) + (for ([(ptr i) (in-indexed #R (dict-ref parent x:pointers-key))]) + #R 'all-the-marbles + #R i (match ptr - [(x:ptr type val parent) (send type encode val port parent)]))) + [(x:ptr type val parent) #R i (send type encode val port parent)]))) (define/override (size [val-arg #f] [parent-arg #f] [include-pointers #t]) (unless val-arg