1.0.14.41: record bug 423
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 22 Feb 2008 19:10:36 +0000 (19:10 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 22 Feb 2008 19:10:36 +0000 (19:10 +0000)
 * TRULY-THE interacts badly with *CHECK-CONSISTENCY*.

BUGS
version.lisp-expr

diff --git a/BUGS b/BUGS
index 298e43a..2496243 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1888,3 +1888,23 @@ Which should be fixed, the IR1, or the backend?
 behaves ...erratically. Reported by Kevin Reid on sbcl-devel
 2007-07-06. (We don't _have_ to check things like this, but we
 generally try to check returns in safe code, so we should here too.)
+
+423: TRULY-THE and *CHECK-CONSISTENCY*
+
+ The following signals errors due to TRULY-THEs in dead code:
+
+ (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)))))
index 7fc7541..121f2a9 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.14.40"
+"1.0.14.41"