1.0.21.1: address TYPE-WARNING in CLOS allocator for funcallable structures
[sbcl.git] / src / pcl / std-class.lisp
index 675d115..ab1406f 100644 (file)
 (defun make-defstruct-allocation-function (name)
   ;; FIXME: Why don't we go class->layout->info == dd
   (let ((dd (find-defstruct-description name)))
-    (%make-structure-instance-allocator dd nil)))
+    (ecase (dd-type dd)
+      (structure
+       (%make-structure-instance-allocator dd nil))
+      (funcallable-structure
+       (%make-funcallable-structure-instance-allocator dd nil)))))
 
 (defmethod shared-initialize :after
     ((class structure-class) slot-names &key