Opened 11 years ago

Closed 11 years ago

#305 closed defect (fixed)

initialize-instance bug for classes with lots of slots

Reported by: satyaki Owned by: gb
Priority: critical Milestone:
Component: ANSI CL Compliance Version: 1.2
Keywords: Cc:

Description

The bug is exhibited in the following test code. To run it save it to a file, load it and then evaluate the TEST-IT function. I have tested this with the binary x8664 version for 1.2-rc1.

Basically I am generating a class called BAR with 600 direct slots which derives from FOO with the BAR-GENERATOR macro. If BAR has 6 slots, then the test case works as it should.

;;; Start of test case

(in-package :cl-user)

(defclass foo ()

((foo-slot :accessor foo-slot)))

(defmacro bar-generator ()

`(defclass bar (foo)

,(loop for i from 0 to 600

for slot = (intern (format nil "BAR-SLOT-~A" i)) collect `(,slot :initform ,i))))

(bar-generator)

(defmethod initialize-instance :after ((x foo) &key)

(setf (foo-slot x) 42))

(defun test-it ()

(make-instance 'bar))

;;; End of test case

Change History (1)

comment:1 Changed 11 years ago by gb

  • Resolution set to fixed
  • Status changed from new to closed

This should be fixed by r9635/r9639.

Note: See TracTickets for help on using tickets.