fix COERCE to unfinalized extended sequence classes
[sbcl.git] / src / code / coerce.lisp
index 928f24b..81f27b2 100644 (file)
@@ -80,8 +80,6 @@
         ;; FIXME: If we go to a compiler-only implementation, this can
         ;; become COMPILE instead of EVAL, which seems nicer to me.
         (eval `(function ,object)))
-       ((instance-lambda)
-        (deprecation-error "0.9.3.32" 'instance-lambda 'lambda))
        (t
         (error 'simple-type-error
                :datum object
         ((and (csubtypep type (specifier-type 'sequence))
               (find-class output-type-spec nil))
          (let ((class (find-class output-type-spec)))
+           (unless (sb!mop:class-finalized-p class)
+             (sb!mop:finalize-inheritance class))
            (sb!sequence:make-sequence-like
             (sb!mop:class-prototype class)
             (length object) :initial-contents object)))