diff --git a/racket/src/ChezScheme/s/cp0.ss b/racket/src/ChezScheme/s/cp0.ss index de67ee8e4a..4f1c8b1546 100644 --- a/racket/src/ChezScheme/s/cp0.ss +++ b/racket/src/ChezScheme/s/cp0.ss @@ -1979,7 +1979,9 @@ [,pr (context-case ctxt [(value tail) - (if (all-set? (prim-mask (or primitive proc)) (primref-flags pr)) + ;; formerly constrained to functions marked as `primitive`, + ;; which does not include `system` procedures: + (if (all-set? (prim-mask proc) (primref-flags pr)) rhs (residualize-ref maybe-src id sc))] [(test) diff --git a/racket/src/cs/rumble/struct.ss b/racket/src/cs/rumble/struct.ss index 984c4f4069..44c2b102e8 100644 --- a/racket/src/cs/rumble/struct.ss +++ b/racket/src/cs/rumble/struct.ss @@ -1079,8 +1079,8 @@ (define (unsafe-struct? v r) (#3%record? v r)) -(define (unsafe-struct r . args) - (#%apply #%$record r args)) +;; internal use only, so doesn't need to have 'unsafe-struct as it's name, etc.: +(define unsafe-struct #%$record) (define (unsafe-struct-ref s i) (if (impersonator? s)