X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.pure.lisp;h=88463e1333e227c9b846e3be2129d9a5c196d4d8;hb=e119a2f79cf36039a39996f5490934b4d927529a;hp=ce69513858f4a0a8e21e12584b642b24917f8dff;hpb=2216330b380c4a931ea7564e0b5a7d4bbec75851;p=sbcl.git diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index ce69513..88463e1 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -2323,3 +2323,22 @@ (declare (fixnum y) (character x)) (sb-sys:with-pinned-objects (x y) (some-random-function)))) + +;;; *CHECK-CONSISTENCY* and TRULY-THE + +(with-test (:name :bug-423) + (let ((sb-c::*check-consistency* t)) + (handler-bind ((warning #'error)) + (flet ((make-lambda (type) + `(lambda (x) + ((lambda (z) + (if (listp z) + (let ((q (truly-the list z))) + (length q)) + (if (arrayp z) + (let ((q (truly-the vector z))) + (length q)) + (error "oops")))) + (the ,type x))))) + (compile nil (make-lambda 'list)) + (compile nil (make-lambda 'vector))))))