X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=6f793ac0f9aeca2ec3211d9ad3b151b6617cd8d8;hb=0573ba54479d1d65e2c8a14daffd2976e249bf40;hp=365e53762053f536218cbab84e0e19aa81b853d5;hpb=147f24abbb9c39704ebb9e93d8d1ec381b8ff53a;p=sbcl.git diff --git a/BUGS b/BUGS index 365e537..6f793ac 100644 --- a/BUGS +++ b/BUGS @@ -1251,3 +1251,47 @@ WORKAROUND: (funcall (aref s ei) x y)) on sbcl-0.8.7.36/X86/Linux causes a BUG to be signalled: full call to SB-KERNEL:DATA-VECTOR-REF + +303: "nonlinear LVARs" (aka MISC.293) + (defun buu (x) + (multiple-value-call #'list + (block foo + (multiple-value-prog1 + (eval '(values :a :b :c)) + (catch 'bar + (if (> x 0) + (return-from foo + (eval `(if (> ,x 1) + 1 + (throw 'bar (values 3 4))))))))))) + + (BUU 1) returns garbage. + + The problem is that both EVALs sequentially write to the same LVAR. + +305: + (Reported by Dave Roberts.) + Local INLINE/NOTINLINE declaration removes local FTYPE declaration: + + (defun quux (x) + (declare (ftype (function () (integer 0 10)) fee) + (inline fee)) + (1+ (fee))) + + uses generic arithmetic with INLINE and fixnum without. + +306: "Imprecise unions of array types" + a.(defun foo (x) + (declare (optimize speed) + (type (or (array cons) (array vector)) x)) + (elt (aref x 0) 0)) + (foo #((0))) => TYPE-ERROR + + relatedly, + + b.(subtypep + 'array + `(or + ,@(loop for x across sb-vm:*specialized-array-element-type-properties* + collect `(array ,(sb-vm:saetp-specifier x))))) + => NIL, T (when it should be T, T)