X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcoerce.lisp;h=8f1507e5658dfea3739365f3119b8f56f0d91d3f;hb=cd1b14acf6f548b28b8a14e554d779f0473122ec;hp=928f24ba7c0f1e60fb41e74bcc341886ffb91c50;hpb=4fa1c71c7dfa5c6d361304321cc67069a6410694;p=sbcl.git diff --git a/src/code/coerce.lisp b/src/code/coerce.lisp index 928f24b..8f1507e 100644 --- a/src/code/coerce.lisp +++ b/src/code/coerce.lisp @@ -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 @@ -124,7 +122,7 @@ object) ((eq type *empty-type*) (coerce-error)) - ((csubtypep type (specifier-type 'character)) + ((type= type (specifier-type 'character)) (character object)) ((numberp object) (cond @@ -243,6 +241,8 @@ ((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)))