1.0.26.4: less pessimal waitqueues
[sbcl.git] / tests / mop.impure.lisp
index d1b4172..c362778 100644 (file)
   (assert (subtypep class2 class1))
   (assert (typep (make-instance class2) class1)))
 \f
+;;; ensure-class got its treatment of :metaclass wrong.
+(ensure-class 'better-be-standard-class :direct-superclasses '(standard-object)
+              :metaclass 'standard-class
+              :metaclass 'funcallable-standard-class)
+(assert (eq (class-of (find-class 'better-be-standard-class))
+            (find-class 'standard-class)))
+
+;;; CLASS-SLOTS should signal an error for classes that are not yet
+;;; finalized. Reported by Levente Meszaros on sbcl-devel.
+(defclass has-slots-but-isnt-finalized () (a b c))
+(let ((class (find-class 'has-slots-but-isnt-finalized)))
+  (assert (not (sb-mop:class-finalized-p class)))
+  (assert (raises-error? (sb-mop:class-slots class) sb-kernel::reference-condition)))
+\f
 ;;;; success