:ACCRUED-EXCEPTIONS (:INEXACT)
:FAST-MODE NIL)
-185: "top-level forms at the REPL"
- * (locally (defstruct foo (a 0 :type fixnum)))
- gives an error:
- ; caught ERROR:
- ; (in macroexpansion of (SB-KERNEL::%DELAYED-GET-COMPILER-LAYOUT BAR))
- however, compiling and loading the same expression in a file works
- as expected.
-
187: "type inference confusion around DEFTRANSFORM time"
(reported even more verbosely on sbcl-devel 2002-06-28 as "strange
bug in DEFTRANSFORM")
the bad VECTOR-PUSH-EXTEND frame causes GC problems, though that may
not be the actual problem. (CMU CL 18c doesn't have problems with this.)
-217:
+217: "Bad type operations with FUNCTION types"
In sbcl.0.7.7:
* (values-type-union (specifier-type '(function (base-char)))
#<FUN-TYPE (FUNCTION (BASE-CHAR) *)>
+ It causes insertion of wrong type assertions into generated
+ code. E.g.
+
+ (defun foo (x s)
+ (let ((f (etypecase x
+ (character #'write-char)
+ (integer #'write-byte))))
+ (funcall f x s)
+ (etypecase x
+ (character (write-char x s))
+ (integer (write-byte x s)))))
+
+ Then (FOO #\1 *STANDARD-OUTPUT*) signals type error.
+
+ (In 0.7.9.1 the result type is (FUNCTION * *), so Python does not
+ produce invalid code, but type checking is not accurate. Similar
+ problems exist with VALUES-TYPE-INTERSECTION.)
+
+218: "VALUES type specifier semantics"
+ (THE (VALUES ...) ...) in safe code discards extra values.
+
+ (defun test (x y) (the (values integer) (truncate x y)))
+ (test 10 4) => 2
+
+219: "DEFINE-COMPILER-MACRO in non-toplevel contexts evaluated at compile-time"
+ In sbcl-0.7.9:
+
+ * (defun foo (x)
+ (when x
+ (define-compiler-macro bar (&whole whole)
+ (declare (ignore whole))
+ (print "expanding compiler macro")
+ 1)))
+ FOO
+ * (defun baz (x) (bar))
+ [ ... ]
+ "expanding compiler macro"
+ BAZ
+ * (baz t)
+ 1
DEFUNCT CATEGORIES OF BUGS
IR1-#: