From ecc2052933c70c3d12e9bb4d1c8bb024eace189e Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Fri, 5 Oct 1990 12:46:55 +0000
Subject: [PATCH] Fixed the bootstrap version of copy-type-class.

---
 code/type-boot.lisp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/code/type-boot.lisp b/code/type-boot.lisp
index c3d77ce12..28649fbbc 100644
--- a/code/type-boot.lisp
+++ b/code/type-boot.lisp
@@ -56,12 +56,12 @@
        (eq (%primitive structure-ref thing 0) 'values-type)))
 
 ;;; Define this so that we can copy type-class structures before the defstruct
-;;; for type-class runs.  ### It relies on structures being build out of
-;;; simple-vectors in order to determine the length.
+;;; for type-class runs.  ### It relies on structures being identical to
+;;; simple-vectors so that the length can be extracted from the -1'st slot.
 ;;;
 (defun copy-type-class (tc)
   (let ((new (make-type-class)))
-    (dotimes (i (the index (length (the simple-vector tc))))
+    (dotimes (i (truly-the index (%primitive structure-ref tc -1)))
       (declare (type index i))
       (%primitive structure-index-set new i
 		  (%primitive structure-index-ref tc i)))
-- 
GitLab