X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fltv.lisp;h=cbeba897fcbbc0abe43f3d898b8cd434b3c9b2fc;hb=c179ad4d7bef50a974e8907adb079d47c8bea37e;hp=b7c705ca3ccab3f5cee0f7ff99dd9401a4f004f1;hpb=f09f67b4233004079affc70de2ef2d49f27ca91a;p=sbcl.git diff --git a/src/compiler/ltv.lisp b/src/compiler/ltv.lisp index b7c705c..cbeba89 100644 --- a/src/compiler/ltv.lisp +++ b/src/compiler/ltv.lisp @@ -30,12 +30,15 @@ guaranteed to never be modified, so it can be put in read-only storage." (cond ((consp form) (let ((op (car form))) (cond ((member op '(the truly-the)) - (specifier-type (second form))) + (values-specifier-type (second form))) ((eq 'function op) (specifier-type 'function)) ((and (legal-fun-name-p op) (eq :declared (info :function :where-from op))) - (fun-type-returns (info :function :type op))) + (let ((ftype (info :function :type op))) + (if (fun-type-p ftype) + (fun-type-returns ftype) + *wild-type*))) (t *wild-type*)))) ((and (symbolp form)