0.9.14.12:
[sbcl.git] / tests / clos.impure.lisp
index 46749be..864e0b6 100644 (file)
                          (defmethod class-as-specializer-test2 ((x ,(find-class 'class-as-specializer-test)))
                            'bar))))
 (assert (eq 'bar (class-as-specializer-test2 (make-instance 'class-as-specializer-test))))
-
+\f
+;;; CHANGE-CLASS and tricky allocation.
+(defclass foo ()
+  ((a :allocation :class :initform 1)))
+(defclass bar (foo) ())
+(defvar *bar* (make-instance 'bar))
+(defclass baz ()
+  ((a :allocation :instance :initform 2)))
+(change-class *bar* 'baz)
+(assert (= (slot-value *bar* 'a) 1))
 \f
 ;;;; success