an error may be signalled at read time and it would be good if
SBCL did it.
- c: Reading of not initialized slot sometimes causes SEGV (for inline
- accessors it is fixed, but out-of-line still do not perform type
- check).
-
- d:
- (declaim (optimize (safety 3) (speed 1) (space 1)))
- (defstruct foo
- x y)
- (defstruct (stringwise-foo (:include foo
- (x "x" :type simple-string)
- (y "y" :type simple-string))))
- (defparameter *stringwise-foo*
- (make-stringwise-foo))
- (setf (foo-x *stringwise-foo*) 0)
- (defun frob-stringwise-foo (sf)
- (aref (stringwise-foo-x sf) 0))
- (frob-stringwise-foo *stringwise-foo*)
- SEGV.
+ d: (fixed in 0.8.1.5)
7:
The "compiling top-level form:" output ought to be condensed.
array types, there's no good way to tell it you're doing it
intentionally so that it should shut up and just compile the code.
- Another poblem is confusing error message "asserted type ARRAY
+ Another problem is confusing error message "asserted type ARRAY
conflicts with derived type (VALUES SIMPLE-VECTOR &OPTIONAL)" during
compiling (LAMBDA (V) (VALUES (SVREF V 0) (VECTOR-POP V))).
callees.)
258:
- Compiler fails on
-
- (defun u-b-sra (ad0)
- (declare (special *foo* *bar*))
- (declare (optimize (safety 3) (speed 2) (space 1) (debug 1)))
- (labels ((c.frob (x)
- (random x))
- (ad.frob (ad)
- (mapcar #'c.frob ad)))
- (declare (inline c.frob ad.frob))
- (list (the list ad0)
- (funcall (if (listp ad0) #'ad.frob #'print) ad0)
- (funcall (if (listp ad0) #'ad.frob #'print) (reverse ad0)))))
+ (fixed in 0.8.1.3)
+
+259:
+ (compile nil '(lambda () (aref (make-array 0) 0))) compiles without
+ warning. Analogous cases with the index and length being equal and
+ greater than 0 are warned for; the problem here seems to be that the
+ type required for an array reference of this type is (INTEGER 0 (0))
+ which is canonicalized to NIL.
DEFUNCT CATEGORIES OF BUGS
IR1-#: