From a3f1ab8b60f3a3228a5227d698c7ebf457d16e64 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 8 Feb 2020 10:13:44 -0700 Subject: [PATCH] cs: tweak for chaperoned structure reference No need for `|#%app|` on chaperoned operation. --- racket/src/cs/rumble/impersonator.ss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/racket/src/cs/rumble/impersonator.ss b/racket/src/cs/rumble/impersonator.ss index 83ec745293..e135b9e4e0 100644 --- a/racket/src/cs/rumble/impersonator.ss +++ b/racket/src/cs/rumble/impersonator.ss @@ -46,8 +46,8 @@ (record? (impersonator-val orig) rtd))) (let loop ([v orig]) (cond - [(and (struct-undefined-chaperone? v) - rtd) + [(and rtd + (struct-undefined-chaperone? v)) ;; Must be the only wrapper left (let ([abs-pos (fx+ key2/pos (struct-type-parent-total*-count rtd))]) (let ([r (unsafe-struct*-ref (impersonator-val v) abs-pos)]) @@ -80,7 +80,7 @@ (if rtd (let ([abs-pos (fx+ key2/pos (struct-type-parent-total*-count rtd))]) (unsafe-struct*-ref v abs-pos)) - (|#%app| acc v))]))] + (acc v))]))] [else (raise-argument-error (string->symbol (string-append (symbol->string (or record-name 'struct))