X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.pure.lisp;h=95d2928b44aefdff3ae3e6f3c118228a515af6c5;hb=1dc3a468ba32755c51747d6e85ed32d989f2dd49;hp=7e53ee2d5612f878fc8f9b1b11270c8a20164c24;hpb=93db5c1b87b1cf58533c503c78401b817d7208d8;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index 7e53ee2..95d2928 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -2130,15 +2130,22 @@ ;;; overconfident primitive type computation leading to bogus type ;;; checking. -(let* ((form1 '(lambda (x) - (declare (type (and condition function) x)) +(let* ((form1 '(lambda (x) + (declare (type (and condition function) x)) x)) (fun1 (compile nil form1)) - (form2 '(lambda (x) - (declare (type (and standard-object function) x)) + (form2 '(lambda (x) + (declare (type (and standard-object function) x)) x)) (fun2 (compile nil form2))) (assert (raises-error? (funcall fun1 (make-condition 'error)))) (assert (raises-error? (funcall fun1 fun1))) (assert (raises-error? (funcall fun2 fun2))) (assert (eq (funcall fun2 #'print-object) #'print-object))) + +;;; LET* + VALUES declaration: while the declaration is a non-standard +;;; and possibly a non-conforming extension, as long as we do support +;;; it, we might as well get it right. +;;; +;;; Bug reported by Kaersten Poeck on sbcl-devel 20061023. +(compile nil '(lambda () (let* () (declare (values list)))))